它本应该起作用,但不幸的是它不是。我不知道我的代码有什么问题。当我尝试使用jsfiddle时,它正在工作但是在我的Notepad ++中它不起作用。我无法弄清楚这有什么问题。
<head>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script type="text/javascript">
$('input:radio[name="senior"]').change(function() {
if ($(this).val()=='Yes') {
$('#seniordis').attr('disabled',false);
} else
$('#seniordis').removeAttr('disabled', true);
});
</script>
</head>
Senior :
<input name="senior" type="radio" id="Yes" value="Yes" />Yes
<input name="senior" type="radio" id="No" value="No" selected="selected" />No<br />
<select name="seniordis" id="select">
<option value="100" >100% discount</option>
<option value="50">50% discount</option>
<option value="10">10% discount</option>
</select>
</td>
答案 0 :(得分:0)
问题不在于代码。 问题在于您引用库的方式。将引用更改为https://
<link rel="stylesheet" href="https://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
它在您的Notepad ++中无效,因为您在brwoser中查看此文件,该文件将包含file://
请求,而不是https://
。它适用于您的小提琴,因为您可能以不同的方式引用该库,但有效方式。
同时指出代码中的错误。
这一行$('#seniordis').removeAttr('disabled', true);
此处{select}标记的name属性值seniordis
,而不是id ...如果使用$('[name="seniordis"]')
按名称定位元素或$('#select')
定位id的元素。
所以代码应该是
$('#select').attr('disabled', true);
或者这个
$('#select').removeAttr('disabled');
答案 1 :(得分:0)
您的问题是,
senoirdis
名称不是ID。您的ID为select
。
$().ready(function()
{
$('input:radio[name="senior"]').change(function() {
if ($(this).val()=='Yes') {
$('#select').prop('disabled',false);
}
else
{
$('#select').prop('disabled',true);
}
});
});
答案 2 :(得分:0)
您的代码存在一些错误
这一行
input:radio[name="senior"]
一定是这个
input[name=senior]:radio
此行
$('#seniordis').attr('disabled',false);
必须
$('#select:input').removeAttr('disabled');
使用以下代码:
<div>
<input name="senior" type="radio" id="Yes" value="Yes" />Yes
<input name="senior" type="radio" id="No" value="No" />No<br />
<select name="seniordis" id="select">
<option value="100">100% discount</option>
<option value="50">50% discount</option>
<option value="10">10% discount</option>
</select>
</div>
<script type="text/javascript">
$("input[name=senior]:radio").change(function () {
if ($(this).val() == "Yes") {
$('#select:input').removeAttr('disabled');
}
else {
$('#select:input').attr('disabled', 'disabled');
}
});
</script>
答案 3 :(得分:-1)
$('input:radio[name="senior"]').change(function() {
if ($(this).val() == 'Yes') {
$('select[name="seniordis"]').attr('disabled',false);
} else {
$('select[name="seniordis"]').attr('disabled', true);
}
});