0

在我的 php 文件中,我有两个选择菜单。When the first one is selected second one gets the values with jquery. 它在简单的 php 文件中运行良好。但是,当使用JQuery mobile粘贴到文件时,会出现一个小问题:更改第一个时,第二个的值会发生变化,但第一个的选定选项仍然存在。

这是我的 .js 文件:

function deg(){
var id = document.getElementById("il").options[document.getElementById("il").selectedIndex].value;
var ilcx;

switch(id){
case "a":
ilcx = {"x" : "x"
}; break;
case "b":
ilcx = {"y" : "y"
}; break;
case "c":
ilcx = {"c" : "c"
}; break;

}

var $el = $("#ilcx");
$el.empty(); 
$.each(ilcx, function(key, value) {
  $el.append($("<option></option>")
     .attr("value", value).text(key));
});

和php的部分:

 <select name="il" id="il" onchange="deg();">
                            <option id="a" value="a">a</option>
                            <option id="b" value="b">b</option>
                            <option id="c" value="c">c</option>
  </select>
                        <select name="ilcx" id="ilcx">
                            <option id="x" value="x">x</option>
                            <option id="y" value="y">y</option>
                            <option id="z" value="z">z</option>

    </select>
4

1 回答 1

0

用解决方案做了一个jsfiddle

HTML

<select name="il" id="il">
    <option id="a" value="x" selected="selected">a</option>
    <option id="b" value="y">b</option>
    <option id="c" value="c">c</option>
</select>
<select name="ilcx" id="ilcx">
    <option id="x" value="x" selected="selected">x</option>
    <option id="y" value="y">y</option>
    <option id="z" value="z">z</option>
</select>

JS

$(document).on('change', '#il', function() { deg(this); });

function deg(obj){
    var val = obj.value,
        $el = $('#ilcx'),
        $opt = $('<option />');

    $opt.val(val).text(val).appendTo($el);
}
于 2012-07-18T07:50:40.170 回答