单选按钮上的jQuery单击事件不会被触发
我有以下代码来触发某些单选按钮上的单击事件! 但它不会被解雇! 谁能帮我这个!
代码:
$("#inline_content input[name='type']").click(function(){ if($('input:radio[name=type]:checked').val() == "walk_in"){ $('#select-table > .roomNumber').attr('enabled',false); } });
无线电按钮
.
更新
试过onChange()
但是没有工作。
它开火了。 查看演示http://jsfiddle.net/yeyene/kbAk3/
$("#inline_content input[name='type']").click(function(){ alert('You clicked radio!'); if($('input:radio[name=type]:checked').val() == "walk_in"){ alert($('input:radio[name=type]:checked').val()); //$('#select-table > .roomNumber').attr('enabled',false); } });
这段代码有几个问题:
- 你正在以错误的方式使用
。 如果要使其背后的文本可单击,则应使用
。
- 它设置了
enabled
属性,该属性不存在。 请改用disabled
。 - 如果它是一个属性,它的值不应该是
false
,使用disabled="disabled"
或者只是在没有值的情况下disabled
。 - 如果检查某人点击将改变其值的表单事件(如复选框和单选按钮),请改用
.change()
。
我不确定你的代码应该做什么。 我的猜测是,一旦有人选择“Walk in”(并且可能在取消选择时重新启用),你想要使用class roomNumber
禁用输入字段。 如果是这样,请尝试以下代码:
HTML:
使用Javascript:
$("form input:radio").change(function () { if ($(this).val() == "walk_in") { // Disable your roomnumber element here $('.roomNumber').attr('disabled', 'disabled'); } else { // Re-enable here I guess $('.roomNumber').removeAttr('disabled'); } });
我在这里创造了一个小提琴: http : //jsfiddle.net/k28xd/1/
一种不同的方式
$("#inline_content input[name='type']").change(function () { if ($(this).val() == "walk_in" && $(this).is(":checked")) { $('#select-table > .roomNumber').attr('enabled', false); } });
好像你是#inline_content
不存在! 删除jQuery-Selector或检查父元素,也许你有一个拼写错误或忘记添加id。
(让你成为一个jsfiddle,在添加父
: http : //jsfiddle.net/J5HdN/ )
将ur js代码放在html表单下或使用$(document).ready(function(){})并试试这个。
$('#inline_content input[type="radio"]').click(function(){ if($(this).val() == "walk_in"){ alert('ok'); } });
就个人而言,对我来说,类似问题的最佳解决方案是:
HTML
JQuery的
var $selectAll = $( "input:radio[name=selectAll]" ); $selectAll.on( "change", function() { console.log( "selectAll: " + $(this).val() ); // or alert( "selectAll: " + $(this).val() ); });
*事件“点击”也可以代替“改变”。
希望这可以帮助!