0

私は非常に単純なことをしようとしています: jQuery Mobile 1.1.1 フレームワークでは、トグル フリップが「手動」になっているときにフィールドを無効にしたいと考えています。

HTMLは次のとおりです。

<div data-role="fieldcontain">
    <fieldset data-role="controlgroup">
        <label for="toggleswitch">                         
        </label>
        <select name="toggleswitch" id="toggleswitch" data-theme="b" data-role="slider">  
            <option value="off">gps</option>
            <option value="on">manual</option>
        </select>
    </fieldset>
</div>

ここに私のJavaScriptがあります:

$('#toggleswitch').change(function(){
    console.log("toggle");
});

現時点では、コンソールに「トグル」という単語すら表示されません。change メソッドも起動しないと思いますが、これはオンラインの例で見つけたものです。

編集 -ここに間違った例をコピーしました: 実際にテストしたコードには、同じ「トグルスイッチ」ID があります。コードは、メモ帳++で編集した方法で編集されました。

4

2 に答える 2

1

コードを dom Ready コールバックに入れましたか?

$(function() {
   $('#toggleswitch').change(function(){ console.log("toggle"); });  
});

PS: id セレクターを使用する場合、要素タイプを指定する必要はありません。

編集:

toggleswitch3また、javascriptで使用しているときに、html で id として使用していることにも注意してくださいtoggleswitch

于 2012-09-26T10:05:21.153 に答える
1

selectid要素は ですtoggleswitch3が、JavaScript コードでは を使用しますtoggleswitch。名前は HTML と JavaScript で一致する必要があります。一致しないと機能しません。

于 2012-09-26T10:06:55.543 に答える