我试图在单击时从任一单选按钮触发一个功能,但它似乎没有工作。
我的代码:
$('.radio [name=list_in]').on('click', function() {
updateListingForm('list_in');
});
我的HTML:
<div class="fields">
<div class="radio">
<div class="pretty_rb styledRadio" style="background-image: url('images/form-radio-icons.png'); width: 19px; height: 20px; cursor: pointer; background-position: 0px -20px;"><input type="radio" checked="" value="auction" class="pretty_rb" id="list_site" name="list_in" style="display: none;"></div><label for="list_site">Site</label>
</div>
<div class="radio">
<div class="pretty_rb styledRadio" style="background-image: url('images/form-radio-icons.png'); width: 19px; height: 20px; cursor: pointer; background-position: 0px 0px;"><input type="radio" value="store" class="pretty_rb" id="list_store" name="list_in" style="display: none;"></div><label for="list_store">Store</label>
</div>
<div class="contentClear"></div>
</div>
我使用jQuery插件来设置无线电字段的样式,这是它输出的HTML,这就是隐藏普通无线电字段的原因。
由于this reason,我无法使用onclick
事件;这就是为什么我尝试在这里使用on
,但我似乎无法解决它?
我做错了什么!?
答案 0 :(得分:1)
将侦听器分配给渲染的元素而不是隐藏的元素:
$('.radio .pretty_rb').on('click', function() {
updateListingForm('list_in');
});
答案 1 :(得分:0)
试试这个,
$('.radio').on('click', function() {
updateListingForm('list_in');
});
答案 2 :(得分:0)
我猜你错过了$(文件).ready(function(){...});
此代码适用于我:
$(document).ready(function() {
$('.radio [name=list_in]').on('click', function() {
alert('It works');
});
});