<script>
$('#Select_Font').attr('disabled', 'true');
$('#Enter_Text').attr('disabled', 'true');
$('.dropdownstyle').change(function(){
$(".dropdownstyle option:selected").text();
if($(this).attr('value').match(/Custom$/))
{
$('#Select_Font').attr('disabled', 'false');
$('#Enter_Text').attr('disabled', 'false');
} else if($(this).attr('value').match(/no Thanks$/))
{
$('#Select_Font').attr('disabled', 'true');
$('#Enter_Text').attr('disabled', 'true');
}
});
</script>
<table>
<tbody>
<tr>
<td>
<span>Select type</span>
</td>
<td>
<select class="dropdownstyle">
<option value="No Thanks">No Thanks</option>
<option value="Custom lid (200)">Custom lid (200)</option>
</select>
</td>
</tr>
<tr>
<td>
<span>Select font</span>
</td>
<td>
<select id="Select_Font">
<option value="Arial">Arial</option>
<option value="georgia">georgia</option>
</select>
</td>
</tr>
<tr>
<td>
<span>enter text</span>
</td>
<td>
<input type="text" id="Enter_Text">
</td>
</tr>
</tbody>
</table>
在上面的代码中我最初想要字体下拉和文本框禁用,但在选择自定义表单第一个下拉列表我想要字体下拉和文本框启用。 我不确定我哪里出错了,所以应该做些什么让它发挥作用。
答案 0 :(得分:1)
您使用的是字符串('true','false')而不是布尔值(true,false)。试试这个:
<script>
$('#Select_Font').attr('disabled', true);
$('#Enter_Text').attr('disabled', true);
$('.dropdownstyle').change(function(){
$(".dropdownstyle option:selected").text();
if($(this).attr('value').match(/Custom$/))
{
$('#Select_Font').attr('disabled', false);
$('#Enter_Text').attr('disabled', false);
} else if($(this).attr('value').match(/no Thanks$/))
{
$('#Select_Font').attr('disabled', true);
$('#Enter_Text').attr('disabled', true);
}
});
</script>
....
答案 1 :(得分:1)
尝试: SAMPLE
$('#Select_Font, #Enter_Text').attr('disabled', 'disabled');
$('.dropdownstyle').change(function () {
var present = $(this).val().match(/\Custom\b/gi) == null ? true : false;
if(present){
$('#Select_Font, #Enter_Text').prop('disabled', 'disabled');
}
else{
$('#Select_Font, #Enter_Text').removeAttr('disabled');
}
});
$(this).attr('value')
将返回undefined
。您应该使用$(this).val()
答案 2 :(得分:0)
您应该使用:
$("#id").prop("disabled", true);
或者这也应该有效:
$("#id")[0].disabled = true;
在你的代码中,你将true和false作为字符串(第一个错误)传递给不再使用的.attr()(第二个错误)