在单选按钮上关联事件侦听器

时间:2014-07-14 15:55:14

标签: javascript jquery html

我有这段代码:

 <div class="ui-content">
        <ul class="ui-listview">
            <li class="li-has-radio">
                <label>
                    15 mn
                    <input type="radio" value="15" name="radSize" checked="checked"/>
                </label>
            </li>
            <li class="li-has-radio">
                <label>
                    30 mn
                    <input type="radio" value="30" name="radSize"/>
                </label>
            </li>
            <li class="li-has-radio">
                <label>
                    45 mn
                    <input type="radio" value="45" name="radSize"/>
                </label>
            </li>

        </ul>
    </div>

当我点击每个按钮时有一个事件监听器,如下所示:

$("#inline_content input[name='radSize']").on('change', function(){
alert('You clicked radio!');
    var mytime = $('input:radio[name=radSize]:checked').val();
    alert($('input:radio[name=radSize]:checked').val());
    window.open("categorie.html?temps="+mytime);
});

除了第一个单选按钮外,一切正常,默认情况下会进行检查,但是当我点击它时没有任何事情发生。

我该怎么办? 感谢。

2 个答案:

答案 0 :(得分:0)

问题是,单击选中的单选按钮时不会发生变化。我建议切换到click处理程序(而不是更改),或者使用按钮而不是无线电。

当然,使用按钮,您还需要一个点击处理程序。

如果你想让事情与你现在的事情更相似,那么从未选中的第一个无线电开始也将解决问题。

答案 1 :(得分:0)

使用点击事件:

$("input[name='radSize']").on('click', function(){
alert('You clicked radio!');
    var mytime = $('input:radio[name=radSize]:checked').val();
    alert($('input:radio[name=radSize]:checked').val());
});

http://jsfiddle.net/p3C8L/