2009-10-08 15 views
5

मैं नीचे दिए गए टैब से जुड़े प्रत्येक लिंक के साथ एक क्वेरी स्ट्रिंग (? id = avalue) कैसे पास कर सकता हूं। मैं टैब के भीतर बाहरी सामग्री को खोलने का प्रयास कर रहा हूं (यह ठीक काम कर रहा है) लेकिन मैं यूआरएल के साथ पैरामीटर पास करने में विफल रहा हूं। प्रत्येक लिंक के लिए पैरामीटर के लिए मान समान होगा।jquery-ui-tabs। एक क्वेरीस्ट्रिंग पास करना

मेरे कामकाज कोड:

<script type="text/javascript"> 

     $(function() { 
      $("#tabs").tabs({spinner:'<b>Retrieving Data...</b>'}); 

     }); 

</script> 


<div id="tabs"> 
      <ul> 
      <li><a href="table.aspx"><span>Introduction</span></a></li> 
       <li><a href="RequestActionUpdate.aspx"><span>Update</span></a></li> 
       <li><a href="tabstesttarget.aspx"><span>Target</span></a></li> 
       <li><a href="table.aspx" ><span>View History</span></a></li> 
      </ul> 

     </div> 

किसी भी मदद की तुम मुझे पेशकश कर सकते हैं बहुत सराहना की जाएगी।

अग्रिम धन्यवाद

उत्तर

1

में आप प्रत्येक लिंक करने के लिए पैरामीटर को हार्डकोड कर सकते हैं:

<li><a href="RequestActionUpdate.aspx?id=avalue"><span>Update</span></a></li> 

यह ठीक काम करना चाहिए। वास्तव में आपके लिए क्या काम नहीं कर रहा है? या आपके मन में कुछ और है?

window.location = href + '?id=avalue' 

पृष्ठ लोड पर लंगर hrefs अद्यतन करने के लिए होगा:

+0

मुझे लगता है कि पैरामीटर प्रत्येक टैब के लिए ही होगा लेकिन प्रत्येक सत्र के लिए अलग अलग होंगे उल्लेख करना भूल गया। मैं इसे एक छिपे हुए बॉक्स से ले जाने का इरादा रख रहा हूं। –

1
खोज है कि मैं किया है, की तरह कुछ बदसूरत करने के लिए बिना इस दृष्टिकोण का सबसे अच्छा तरीका से

। आपको जो भी आईडी/वैल्यू चाहिए उसे पकड़ो, और बस इसे संलग्न करें;

$(document).ready(function(){ 
    value = "?id=foobar" 
    $("#tabs ul li a").attr('href', ($(this).attr('href') + value)); 
}); 

सबसे सुरुचिपूर्ण समाधान नहीं है, लेकिन यह काम करता है।

1

यदि आप सभी लिंक पर ईवेंट पर्यवेक्षक जोड़ते हैं तो क्या होता है?

$("#tabs ul li a").click(
    function(){ 
     $(this).attr('href', $(this).attr('href') + $('#someHiddenInput').val()); 
    } 
); 
9

आप ajaxOptions विकल्प का उपयोग कर सकते हैं। टैब विजेट इन विकल्पों को jQuery.ajax() पर पास कर देगा।

निम्नलिखित कोड jQuery.ajax() समारोह के data विकल्प का उपयोग करता है जब एक टैब चयनित होने पर सर्वर से getId समारोह (इस उदाहरण में एक यूनिक्स शैली समय कोड) का परिणाम पारित करने के लिए।
अनुरोध यूआरएल RequestActionUpdate.aspx?id=1255015611701 कुछ ऐसी दिखाई देगी:

function getId() { 
    return (new Date()).getTime(); 
} 

$("#tabs").tabs({ 
    spinner:'<b>Retrieving Data...</b>', 
    ajaxOptions: { data: { id: getId } } 
}); 
+0

शानदार। यह वह समाधान था जिसे मैंने ढूंढने का प्रयास किया था, लेकिन यह नहीं देख सका कि इसे कैसे किया जाए। निश्चित रूप से एक सुरुचिपूर्ण और कुशल समाधान। –

+0

यह एक इलाज काम किया! इसके लिए बहुत धन्यवाद। –

+0

खुशी मैं मदद कर सकता था। कृपया स्वीकार किए गए उत्तर को चिह्नित करना याद रखें;) – brianpeiris

संबंधित मुद्दे