点击jQuery“on”时出现问题

时间:2014-01-19 17:16:28

标签: javascript jquery onclick jquery-on

我试图在单击时从任一单选按钮触发一个功能,但它似乎没有工作。

我的代码:

$('.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,但我似乎无法解决它?

我做错了什么!?

3 个答案:

答案 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');
    });
});