6

私はjQueryを初めて使用し、アプリケーションのラジオボタンの代わりにボタンセットを使用すると思いました。ここのドキュメント:http: //jqueryui.com/demos/button/#radio

ボタンのセットの値が変更されたときに、イベントにハンドラーを追加するにはどうすればよいですか?

これが私が試したコードの抜粋です:

$('input.tod_quant').change(function() {
    alert('TEST');
});

そして後でHTMLで:

<span id="tod_quant" class="buttonset">
        <input type="radio" id="tod_quant5" name="tod_quant" value="5" /><label for="tod_quant5">5-Minute</label>
        <input type="radio" id="tod_quant60" name="tod_quant" checked="checked" value="60" /><label for="tod_quant60">60-Minute</label>
        </span>

「変更」イベントは発生しません。変更イベントもありますか?これどうやってするの?さらに、例のあるドキュメントはありますか? http://jqueryui.comにはたくさんの例がありますが、イベントが発生していることを示す例は1つもありません。私のjQueryの無知は、状況を正確に助けているわけではないと思います。

どんな助けでも大歓迎です。ありがとうございました。

4

4 に答える 4

10

changejQuery-UI にはボタンのイベントはありません。

基になるラジオボタンの変更またはクリック イベントをリッスンする必要があります。

http://jsfiddle.net/marcosfromero/kr2Xc/

于 2011-03-21T03:27:15.243 に答える
6

ハ!問題が解決しました。私はこれを一日中ハッキングしてきましたが、それは目の前にありました。

要素の選択方法を次のように変更する必要がありました。

$('#tod_quant')
于 2011-03-21T03:24:50.117 に答える
2

私はこの問題を抱えていましたが、以下のように解決しました: ラベルのイベント ハンドラーを作成しました:

$('.label-class').click(LabelClicked);
$('.input-class').change(InputChanged);
function LabelClicked() {
    var input = $('#' + $(this).attr('for'));
    if(input) 
        input.trigger('change'); 
    return true;
}
function InputChanged() {
    //do your work with this event
}

他に方法はありません!私はいくつかの方法をテストし、最終的にこれを行うことにしました

于 2012-07-02T04:48:01.327 に答える
-1
    <script>
    $(function() {
        $( "#radio" ).buttonset();
    });
    </script>



<div class="demo">

<form>
    <div id="radio">
        <input type="radio" id="radio1" name="radio" /><label for="radio1">Choice 1</label>
        <input type="radio" id="radio2" name="radio" checked="checked" /><label for="radio2">Choice 2</label>
        <input type="radio" id="radio3" name="radio" /><label for="radio3">Choice 3</label>
    </div>
</form>

このコードを使用して、jquery.js および jqueryui.js ファイルが含まれているかどうかを確認してください。

于 2011-03-21T03:29:57.310 に答える