单选按钮上的jQuery单击事件不会被触发

我有以下代码来触发某些单选按钮上的单击事件! 但它不会被解雇! 谁能帮我这个!

代码:

$("#inline_content input[name='type']").click(function(){ if($('input:radio[name=type]:checked').val() == "walk_in"){ $('#select-table > .roomNumber').attr('enabled',false); } }); 

无线电按钮

 
In House Walk In
.

更新

试过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); } }); 

这段代码有几个问题:

  1. 你正在以错误的方式使用 。 如果要使其背后的文本可单击,则应使用
  2. 它设置了enabled属性,该属性不存在。 请改用disabled
  3. 如果它是一个属性,它的值不应该是false ,使用disabled="disabled"或者只是在没有值的情况下disabled
  4. 如果检查某人点击将改变其值的表单事件(如复选框和单选按钮),请改用.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); } }); 

演示 – http://jsfiddle.net/cB6xV/

好像你是#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() ); }); 

*事件“点击”也可以代替“改变”。

希望这可以帮助!