我已经获得以下代码来触发某些单选按钮上的点击事件!但它并没有被解雇!谁能帮我这个!
代码:
$("#inline_content input[name='type']").click(function(){
if($('input:radio[name=type]:checked').val() == "walk_in"){
$('#select-table > .roomNumber').attr('enabled',false);
}
});
RADIO BUTTONS
<form class="type">
<input type="radio" name="type" checked="checked" value="guest">In House</input>
<input type="radio" name="type" value="walk_in">Walk In</input>
</form>.
更新
尝试了onChange()
但没有工作。
答案 0 :(得分:32)
$("#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 :(得分:13)
此代码中存在一些错误:
<input>
错误的方式。如果您想使其背后的文字可点击,则应使用<label>
。enabled
属性,该属性不存在。请改用disabled
。false
,使用disabled="disabled"
或仅disabled
没有值。.change()
。我不确定你的代码应该做什么。我的猜测是,一旦有人选择“Walk in”(并且可能在取消选择时重新启用),您想要使用类roomNumber
禁用输入字段。如果是这样,请尝试以下代码:
HTML:
<form class="type">
<p>
<input type="radio" name="type" checked="checked" id="guest" value="guest" />
<label for="guest">In House</label>
</p>
<p>
<input type="radio" name="type" id="walk_in" value="walk_in" />
<label for="walk_in">Walk in</label>
</p>
<p>
<input type="text" name="roomnumber" class="roomNumber" value="12345" />
</p>
</form>
使用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/
答案 2 :(得分:1)
就我个人而言,类似问题的最佳解决方案是:
<强> HTML 强>
<input type="radio" name="selectAll" value="true" />
<input type="radio" name="selectAll" value="false" />
<强> JQuery的强>
var $selectAll = $( "input:radio[name=selectAll]" );
$selectAll.on( "change", function() {
console.log( "selectAll: " + $(this).val() );
// or
alert( "selectAll: " + $(this).val() );
});
*活动&#34;点击&#34;可以代替&#34;改变&#34;同样。
希望这有帮助!
答案 3 :(得分:0)
另一种方式
$("#inline_content input[name='type']").change(function () {
if ($(this).val() == "walk_in" && $(this).is(":checked")) {
$('#select-table > .roomNumber').attr('enabled', false);
}
});
答案 4 :(得分:0)
好像你#inline_content
不存在!删除jQuery-Selector或检查父元素,也许你有一个拼写错误或忘记添加id。
(让你成为一个jsfiddle,在添加父<div id="inline_content">
之后起作用:http://jsfiddle.net/J5HdN/)
答案 5 :(得分:0)
将ur js代码放在html表单下或使用$(document).ready(function(){})并尝试此操作。
$('#inline_content input[type="radio"]').click(function(){
if($(this).val() == "walk_in"){
alert('ok');
}
});