我想禁用值= 1的textarea onclick并通过单击单选按钮值= 0启用它。但是我有一个条件,我必须使用相同的名称和id两个单选按钮。我有现有的代码像这样..有任何可能性,我可以通过他们的值在js方法中调用单选按钮。
HTML:
<input type="radio" name="disabilityflag" id="disabilityflag" value="0"/>
<span>Yes</span>
<input type="radio" name="disabilityflag" id="disabilityflag" value="1"/>
<span>No</span>
<textarea type="text" name="disabilityspecification" id="disabilityspecification">
</textarea>
使用Javascript:
$('#disabilityflag').click(function(){
checkeddisabilityclick();
});
function checkeddisabilityclick(){
$('#disabilityspecification').attr("disabled",true);
$('#disabilityspecification').addClass('disabled');
}
$('#disabilityflag').click(function(){
$('#disabilityspecification').removeAttr("disabled");
$('#disabilityspecification').removeClass('disabled');
});
if($('#disabilityflag').attr('checked')) {
checkeddisabilityclick();
}
答案 0 :(得分:1)
您可以在事件处理函数中使用this.value属性。
$('#disabilityflag').click(function(){
alert( this.value) // will correspond to the value of the element that triggered the event.
checkeddisabilityclick();
});
答案 1 :(得分:0)
由于你使用的是jquery,你可以这样做:
$('#disabilityflag[value="0"]').click(function () {
// Yes was clicked
});
$('#disabilityflag[value="1"]').click(function () {
// No was clicked
});
有一个正在运行的示例here
更新
我更喜欢Gunner的解决方案,因为它只放置了一个事件处理程序,但如果您只想在其中一个上使用事件处理程序,那将是如何做到的。
答案 2 :(得分:0)
ID标签应该是唯一的。只需将ID重命名为disabilityflag_no和disabilityflag_yes,并向其添加两个点击事件。
另一方面,你可以做(用名称值替换id)
$('[name="disabilityflag"]').click(function(){
alert( this.value) // will correspond to the value of the element that triggered the event.
checkeddisabilityclick();
});