0

私のphpファイルには、2つの選択メニューがあります。最初のものを選択すると、2番目のものはjqueryで値を取得します。シンプルなphpファイルで問題なく動作します。しかし、JQuery モバイルでファイルに貼り付けると、ちょっとした問題が発生します。

ここに私の.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 に答える