单击单选按钮时不会禁用下拉菜单
Dropdown not disable when radio button is clicked
它应该工作,但不幸的是它没有工作。我不知道我的代码出了什么问题。当我在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>
您的问题是,
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);
}
});
});
问题不在于代码问题在于您引用库的方式。更改引用以具有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中查看此文件,brwoser将有file://
请求,而不是https://
。它在你的小提琴工作,因为在那里你可能以不同的方式引用库,但有效的方式。
同时指出代码中的错误。
本线$('#seniordis').removeAttr('disabled', true);
这里seniordis
在您的选择标签的name属性的值中,而不是id…所以使用$('[name="seniordis"]')
按名称定位元素,或者使用$('#select')
按id定位元素。
所以代码应该是
$('#select').attr('disabled', true);
或者这个
$('#select').removeAttr('disabled');
您的代码存在一些错误
-
这条线路
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>
$('input:radio[name="senior"]').change(function() {
if ($(this).val() == 'Yes') {
$('select[name="seniordis"]').attr('disabled',false);
} else {
$('select[name="seniordis"]').attr('disabled', true);
}
});
jsFiddle
相关文章:
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- AngularJS下拉菜单多选不工作
- 下拉菜单转换为单选按钮,不再触发特定功能
- 如何通过单击唯一按钮保存下拉菜单/复选框菜单选项和占位符值
- 下拉列表单选取消选择
- AngularJs:默认情况下未选择单选按钮
- 使用 Javascript 拉取单选按钮值
- 选择下拉菜单所选项目
- Jquery下拉菜单.单击时,子菜单将消失.因此,如何使子菜单在单击时保持不变
- 在没有Jquery的情况下检查所有单选按钮
- 平板电脑/手机上JS下拉菜单的关闭按钮
- 使用动态表下拉禁用单选按钮
- 如何重载下拉下拉每个单选按钮上的变化和日期文本框的变化
- 按下鼠标激活单选按钮
- 多个下拉菜单-单击不关闭
- 启动数据切换下拉由单选按钮激活
- 选择选项后将下拉菜单切换到按钮?在网页内
- 选择根据用户选择设置下拉列表(单选按钮)
- 下拉菜单-单选按钮列表和Javascript方法问题
- 启用禁用下拉菜单和提交按钮