我有2个无线电控制:
<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!");
});
永远不会执行警报。我在这做错了什么?
答案 0 :(得分:6)
事件必须位于 $(文档).ready 或 window.onload
内此代码:
$(document).ready(function(){
$('#sort').buttonset();
});
应
$(document).ready(function(){
$('#sort').buttonset();
// events
$('#asc').on("change", function(event){
alert("CHANGE EVENT!");
});
});
答案 1 :(得分:1)
$(document).on("change", ".sortDirection", function(){
alert("changed");
//insert code here
});
<强> EXAMPLE 强>
我建议使用change
事件而不是click
事件。如果同一选项change
两次,则click
不会再次触发。
答案 2 :(得分:0)
试试这个
$('.sortDirection').click(function(event){
alert("CHANGE EVENT!");
});
答案 3 :(得分:0)
由于'#sort'是按钮组,我认为它应该是:
$('#sort').on("change", function(event){
alert("CHANGE EVENT!");
});