我有两个无线电控制器:
<fieldset id="sort">
<label for="sort">Sort: </label>
<input class="sortDirection" type="radio" id="asc" name="sortDirection"><label for="asc">asc</label>
<input class="sortDirection" type="radio" id="desc" name="sortDirection"><label for="desc">desc</label>
</fieldset>
这是我正在使用的jquery:
$(document).ready(function(){
$('#sort').buttonset();
});
$('#asc').on("change", function(event){
alert("CHANGE EVENT!");
});
我也尝试过(结果相同(:
$('#sort input[type="radio"]').on("change", function(event){
alert("CHANGE EVENT!");
});
警报从不执行。我在这里做错了什么?
事件必须在$(文档(.ready或窗口.onload内
此代码:
$(document).ready(function(){
$('#sort').buttonset();
});
应为
$(document).ready(function(){
$('#sort').buttonset();
// events
$('#asc').on("change", function(event){
alert("CHANGE EVENT!");
});
});
$(document).on("change", ".sortDirection", function(){
alert("changed");
//insert code here
});
示例
我建议使用change
事件而不是click
事件。当同一个选项被click
激发两次时,change
不会再次激发。
尝试这个
$('.sortDirection').click(function(event){
alert("CHANGE EVENT!");
});
由于'#sort'是按钮集,我认为它应该是:
$('#sort').on("change", function(event){
alert("CHANGE EVENT!");
});