jquery mobile;选择“;确实't附加或删除“t”;选项”;

jquery mobile "select" does't append or remove "options"

本文关键字:选项 删除 mobile 选择 确实 jquery      更新时间:2023-09-26

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script type="text/javascript" src="js/bootstrap.min.js"></script>
    <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
	
	<script>
    $(document).bind('mobileinit',function(){
        $.mobile.pushStateEnabled = false;
    });
	</script> 
	
	<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
	<script>jQuery.noConflict(true);</script>
    <fieldset id="When" style="padding:0px; padding-top:5px; margin:0px; margin-top:5px;">
		When
        <select id="Dayy" onchange="DayChange()" data-native-menu="false"> 
          <option value="12">Today</option>
          <option value="13">Tomorrow</option>
          <option value="14">In 2 days</option>
        </select>
	</fieldset>
    <fieldset id="Time" style="padding:0px; margin:0px;">
		Time
        <select id="Timee" data-native-menu="false"> 
          <option value="21">Now</option>
          <option value="22">In few hours</option>
          <option value="23">All Day</option>
          <option value="24">Morning</option>
          <option value="26">Noon</option>
          <option value="28">Afternoon</option>
          <option value="29">Evening</option>
          <option value="31">Midnight</option>
        </select>
		 </fieldset>
        <script type="text/javascript">
        function DayChange() {
        var e = document.getElementById("Dayy");
        var value = e.options[e.selectedIndex].value;
        
        if (value != '12'){
        $("#Timee option[value='21']").remove();
        $("#Timee option[value='22']").remove();
        }
         else if (value == '12'){
        $("#Timee").append('<option value="21">Now</option>');
        $("#Timee").append('<option value="22">In few hours</option>');  
        }
        }
	    </script>

当从第一个选择(Dayy)中选择"Tomorrow"时,"Now"answers"In some hours"不会被删除,但当我打开第二个选择(Timee)并选择任何选项时,"现在"answers"In some hour"会被删除。附加也是如此!有什么解决方案吗?我试过使用

    $('#Timee').selectmenu("refresh", true); and
    $('#Timee').selectmenu().selectmenu("refresh", true); also tried
    $('#Timee').trigger("change");

但我什么都没用!当添加数据角色="none"时,效果很好,但jquery设计消失了

我想要的是,当我点击明天->"现在"answers"几个小时后"时,它们会消失,而当我点击今天时,它们又会重新出现。

我想保存的设计

当选择打开时

问题似乎出现在onChange="DayChange()"调用中。

我更改了代码以使用JQuery事件,它起作用:

$("#Dayy").on("change", function() {
    DayChange();
})

JSFiddle:https://jsfiddle.net/L8da7qaz/1/

<script type="text/javascript" src="js/bootstrap.min.js"></script>
<script>
$(document).bind('mobileinit',function(){
    $.mobile.pushStateEnabled = false;
});
</script> 
<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
<script>jQuery.noConflict(true);</script>

这只是一个订单问题,我只是更改了脚本订单并添加了$("#Timee").selectmenu("刷新",true);瞧,它就像一个符咒:D