我有一个包含多个文本字段的表单。
在顶部的表格中有两个单选按钮的问题:
直接或上市。
直接表示您必须提供电子邮件地址。
Go public表示已禁用电子邮箱。
<input type="radio" name="target" value="public" /> <label for "public">Open to anyone </label></br> <input type="radio" name="target" value="direct"/> <label for="newEmail">Email address of the person:</label> <input type="text" name="newEmail" id='newEmail'> </br> </br> </br> <label for="title">Book title:</label> <input type="text" name="title" id='title'></br> <label for="location">Location:</label> <input type="text" name="location" id='location'>
不得影响其他表单字段
答案 0 :(得分:2)
你可以做这样的事情
$('input:radio').on('click',function(){
if(this.checked && this.value == "public") // this.checked is not necessary as checking value already
$("#newEmail").prop("disabled",true);
else
$("#newEmail").prop("disabled",false);
});
旁注:我建议click
代替change()
,因为单选按钮经常在一个组中切换,您不需要添加多个案例或条件逻辑就像你使用复选框一样。虽然也可以使用改变
答案 1 :(得分:0)
这将根据选择的单选按钮触发电子邮件输入的禁用状态。
var $radios = $('input[type="radio"]');
$radios.change(function() {
$('#newEmail').prop('disabled', $radios.first().is(':checked'));
});