2014-11-03 119 views
1

我有以下代碼。根據功能,當用戶選擇第一個單選按鈕時,不需要任何操作,但當用戶選擇第二個單選按鈕時,會出現多選jQuery下拉菜單。用戶可以選擇複選框。這可以。用戶選中複選框並單擊第一個單選按鈕後,下拉列表應該消失,值應該重置,換句話說,複選框應該取消選中。我可以使用hide()使其消失,但是這些值不會被取消選中。所以當我回來的時候,我仍然看到了舊的價值觀。如何重置jquery multiselect複選框下拉列表

<div id="radioButton" data-role="fieldcontain" style="display: none"> 
     <label for="flip-1">Choose Something </label> 
      <fieldset data-role="controlgroup"> 

<input type="radio" name="radio-choice-2" id="radio-choice-1" value="choice-1" /> 
     <label for="radio-choice-1">All 
    Business Catergories</label> <input type="radio" name="radio-choice-2" 
     id="radio-choice-2" value="choice-2" /> <label 
    for="radio-choice-2">A specific business category</label> 

    </fieldset> 
     </div> 

     <div id="multiCheckbox" style="display: none"> 

      <select name="busiUnit" id="day" multiple="multiple" 
       data-native-menu="false"> 
       <option>Business Unit Category</option> 
       <option value="29">ABC</option> 
       <option value="30">XYZ</option> 
       <option value="31">BCD</option> 

      </select> 

     </div> 
    </div> 

我使用jQuery的hide()&秀()方法,顯示和隱藏下拉。下面的代碼爲 用於閱讀複選框。

   $("#day").change(function(){ 

          var str = ""; 
          busiArray=[]; 


        $("select#day option:selected").each(function() { 

        str = $(this).val(); 
        busiArray.push(str); 

         }); 

       }); 

如何重置下拉菜單?

謝謝。

回答

1

change事件,任何你想要的單選按鈕,然後重置的selectmenu隨後.selectmenu("refresh").val("")重新應用樣式。

請注意,您需要使用jQuery Mobile 1.4.5,因爲以前版本中有bug

$("#radio-choice-1").on("change", function() { 
    if($(this).is(":checked")) { 
    $("#day").val("").selectmenu("refresh"); 
    } 
}); 

Demo

+0

再次感謝了一堆!它的工作現在! – 2014-11-03 19:54:21

-1

試試這個代碼重置下拉:

var items = ["facebook","twitter","instagram","stackoverflow"]; 
 

 
    // Populate dropdown 
 
    jQuery.each(items,function(i,d){ 
 
      // auto select option 
 
      jQuery("#populate").append("<option "+(i==3?"selected":"")+">"+d+"</option>"); 
 
    }); 
 
    // Reset 
 
    jQuery("input[class=reset]").click(function(){ 
 
     
 
      jQuery("#populate option:selected").removeAttr("selected"); 
 
    }); 
 

 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 

 
<select id="populate"> 
 
    <option>--</option> 
 
</select> 
 

 
<input type="button" value="Reset" class="reset"/>