0

Jquery / Jquery Mobile で動作するにはこのコードが必要ですが、何らかの理由で JQM では動作しません。誰か助けてくれませんか?ありがとう!

Javascript コード: JQM なしで動作します

<script type="text/javascript">
function changeOthers(idx, frm) {
    for (var i = 0; i < frm.elements.length; i++) {
        if ((frm.elements[i].type == 'select-one')) {
            frm.elements[i].selectedIndex = idx;
        }
    }
}
</script>

HTML コード: 複数のフォームがあります。内部にはいくつかの選択リストがあり、作業フォーム内のすべての選択リストに同じ選択インデックスを設定する必要があります。

<form name="form1">
    <select name="lst1" size="1" onChange="changeOthers(this.selectedIndex, this.form);">
        <option>1</option>
        <option>2</option>
        <option>3</option>
    </select>
    <select name="lst2" size="1" onChange="changeOthers(this.selectedIndex, this.form);">
        <option>A</option>
        <option>B</option>
        <option>C</option>
    </select>
</form>

<form name="form2">
    <select name="lst1" size="1" onChange="changeOthers(this.selectedIndex, this.form);">
        <option>1</option>
        <option>2</option>
        <option>3</option>
    </select>
    <select name="lst2" size="1" onChange="changeOthers(this.selectedIndex, this.form);">
        <option>A</option>
        <option>B</option>
        <option>C</option>
    </select>
</form>
4

1 に答える 1

0

jquery mobile にはあまり詳しくありませんが、jquery ui については少し経験があります。コントロールが変更されるたびに、通常、そのコントロールは..「更新」される必要があります。

コードでは、インデックス変更アクションの後に次の行を関数に挿入します。

$("select").selectmenu("refresh");

メソッドの詳細については、こちらを参照してください。

デモ:

function changeOthers(idx, frm) {
    for (var i = 0; i < frm.elements.length; i++) {
        if (frm.elements[i].type == 'select-one') {
            frm.elements[i].selectedIndex = idx;
            $("select").selectmenu("refresh");
        }
    }
}
于 2013-06-14T08:03:26.253 に答える