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有很多例子,我找不到一个显示任何事件触发的例子。我想我对 jQuery 的无知并不能完全帮助这种情况。

非常感激任何的帮助。谢谢你。

4

4 回答 4

10

jQuery-UI 中没有change按钮事件。

您应该收听底层单选按钮的更改或单击事件:

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 回答