2011-11-16 16 views
13

मैं jQuery मोबाइल ऐप लिख रहा हूं। मैं नीचे दिए गए कथन के माध्यम से ड्रॉप-डाउन चयनित विकल्प बदल रहा हूं: - $ ("# डेटाबेस नाम")। वैल (डीबी);jQuery मोबाइल चेंज ड्रॉपडाउन चयनित विकल्प और इसे रीफ्रेश करें

मुझे यकीन है कि सही डीबी मान पास होने के बारे में मुझे यकीन है, क्योंकि मैंने इसे अलर्ट के माध्यम से चेक किया है। जब मैं ड्रॉप डाउन को ड्रिल करता हूं, तो यह सही टेक्स्ट भी दिखाता है, लेकिन ड्रॉपडाउन स्वयं चयनित टेक्स्ट को सही नहीं दिखा रहा है।

कोई भी ताज़ा कॉल मुझे डालने की आवश्यकता है?

संपादित करें: Phill से -Adding कोड, जवाब नीचे

<script type="text/javascript"> 

     $("#@ViewBag.DivTitle").live('pageshow', function() { 

      var db = getCookie("DataBaseNames"); 

      $("#DataBaseNames").val(db);    
      $("#DataBaseNames option[value='"+ db + "']").attr("selected", "selected"); 

      //  refresh value , Following is what is required   
      $('select').selectmenu('refresh'); 

      $("#cmdLogOn").live("click", function() { 
       var dbSelected = $("#DataBaseNames option:selected").text();    
       setCookie('DataBaseNames', dbSelected); 
      }); 
     }); 

     function setCookie(name, value) { 
      var expires = ""; 
      document.cookie = name + "=" + value + expires + "; path=/"; 
     } 

     function getCookie(name) { 
      var nameEQ = name + "="; 
      var ca = document.cookie.split(';'); 
      for (var i = 0; i < ca.length; i++) { 
       var c = ca[i]; 
       while (c.charAt(0) == ' ') c = c.substring(1, c.length); 
       if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length); 
      } 
      return null; 
     } 
    </script> 
+0

कोड देखना अच्छा लगेगा, कृपया अपना प्रश्न संपादित करें और कुछ उदाहरण कोड जोड़ें। शायद http://jsfiddle.net –

उत्तर

35

ताज़ा अद्यतन कस्टम

यह अद्यतन करने के लिए कस्टम प्रतिबिंबित करने के लिए चयन किया जाता है का चयन इसे हल देशी चयन तत्व का मान। अगर विकल्प में से कस्टम मेनू में आइटमों की संख्या से भिन्न हैं, तो यह कस्टम मेनू का पुनर्निर्माण करेगा। साथ ही, यदि आप एक सच्चे तर्क को पास करते हैं तो आप पुनर्निर्माण को मजबूर कर सकते हैं।

//refresh value   
$('select').selectmenu('refresh'); 

//refresh and force rebuild 
$('select').selectmenu('refresh', true); 

डॉक्स:

+0

इसे इंगित करने के लिए धन्यवाद! – vaske

+0

मेरा दिन बचाया !!!! – sony

2

मैं this link की जाँच की और मेरे लिए काम कर यह पाया। इसे आज़माएं:

var myselect = $("select#YourDropdownID"); 
myselect[0].selectedIndex =0; 
myselect.selectmenu("refresh"); 
0

यदि आप किसी अन्य उपयोग के आधार पर एक ड्रॉपडाउन बदलना चाहते हैं।

<link href="code.jquery.com/mobile/1.4.1/jquery.mobile-1.4.1.min.css" rel="stylesheet"/> 
<link href="jquery/css/index.css" rel="stylesheet"/> 
<link href="../favicon.ico" rel="shortcut icon"/> 
<link href="http://fonts.googleapis.com/css?family=Open+Sans:300,400,700" rel="stylesheet"/> 
<link href="http://code.jquery.com/mobile/1.4.1/jquery.mobile-1.4.1.min.css" rel="stylesheet" /> 
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
<script src="http://code.jquery.com/mobile/1.4.1/jquery.mobile-1.4.1.min.js"></script> 

<script type="text/javascript"> 

    function ItemNo() 
    { 
    var no = $('#sltItemNo')[0].selectedIndex; 

    var myselect = $("select#sltItemName"); 
    myselect[0].selectedIndex =no; 
    myselect.selectmenu("refresh"); 
    } 
    function ItemName() 
    { 
    var no = $('#sltItemName')[0].selectedIndex; 

    var myselect = $("select#sltItemNo"); 
    myselect[0].selectedIndex =no; 
    myselect.selectmenu("refresh"); 
    } 

</script> 

<select id="sltItemNo" onchange="ItemNo()" data-shadow="false" data-mini="true"> 
    <option value="Abc">1</option> 
    <option value="Cde">2</option> 
    <option value="Efg">3</option> 
</select> 

<select id="sltItemName" onchange="ItemName()" data-shadow="false" data-mini="true"> 
    <option value="1">Abc</option> 
    <option value="2">Cde</option> 
    <option value="3">Efg</option> 
</select> 
संबंधित मुद्दे