jquery/JavaScript 启用和禁用选择菜单.我做错了什么
jquery/javascript enabling and disabling select menus. What am I doing wrong?
这是非常标准的东西,我不明白为什么它不起作用。调用启用函数时,我收到警报,但选择字段仍处于禁用状态。有什么想法吗?
$(window.document).ready(function() {
$('#selectmenu1').attr('disabled','true');
$('#selectmenu2').attr('disabled','true');
$('#selectmenu3').attr('disabled','true');
});
function enableCoreChange(){
alert('called');
$('#selectmenu1').attr('disabled','false');
$('#selectmenu2').attr('disabled','false');
$('#selectmenu3').attr('disabled','false');
}
点击事件:
<a href="#" onclick="enableCoreChange();">Click here to enable</a>
快把我逼疯了!
传递布尔值,而不是字符串,作为.attr()
的第二个参数。
$(function() { // use document ready shorthand
// combine the selectors to stay DRY
$('#selectmenu1, #selectmenu2, #selectmenu3').attr('disabled', true);
});
function enableCoreChange() {
$('#selectmenu1, #selectmenu2, #selectmenu3').attr('disabled', false);
// alternately:
$('#selectmenu1, #selectmenu2, #selectmenu3').removeAttr('disabled');
}
请注意其他常规样式改进。
HTML:
<a href="#" id="enable">Click here to enable</a>
j查询:
function enableCoreChange(){
$('#selectmenu1, #selectmenu2, #selectmenu3').prop('disabled', false);
}
$(document).ready(function(){
$('#selectmenu1, #selectmenu2, #selectmenu3').prop('disabled', true);
$('#enable').on('click',function(e){
e.preventDefault();
enableCoreChange();
});
});
演示 js小提琴
注意:
代替$('#selectmenu1, #selectmenu2, #selectmenu3')
:以^
选择器开头:
$('select[id^="selectmenu"]').prop('disabled', false);
属性
"disabled"不需要值(向后兼容性),一旦此属性可用,它就会被禁用。
要再次激活它,请使用此功能:
function enableCoreChange(){
alert('called');
$('#selectmenu1').removeAttr('disabled');
$('#selectmenu2').removeAttr('disabled');
$('#selectmenu3').removeAttr('disabled');
}
你应该
使用.prop()
而不是.attr()
http://api.jquery.com/prop/
这里的问题是你指定了字符串'false'
而不是布尔false
。 就个人而言,我会使用removeAttr
来澄清
function enableCoreChange(){
alert('called');
$('#selectmenu1').removeAttr('disabled');
$('#selectmenu2').removeAttr('disabled');
$('#selectmenu3').removeAttr('disabled');
}
小提琴:http://jsfiddle.net/6pznn/
相关文章:
- reducers在redux中得到Function not Object,what'it’他错了
- 正在尝试为Docpad网站设置Lunr全文搜索插件.我做错了什么
- 谷歌关闭注释赢得'Don’不要告诉我;I’我错了
- Javascript对象/原型.我的理解错了吗
- 什么'这个随机数猜谜游戏错了
- 重新加载重复数据失败,我做错了什么
- 什么'这个谷歌脚本错了
- 柴如承诺即使错了也会过去
- 什么'Gulp错了
- 我做错了什么
- angular mongodb数组格式写错了
- JavaScript排序算法不起作用 - 任何明显的我做错了
- Google Apps 脚本为 getLastRow 抛出电子邮件失败通知,我做错了什么
- Javascript语法 - 我做错了什么
- 角度灯箱不起作用.我做错了什么
- 在这个猫鼬独特的保存前验证中,我做错了什么
- Javascript和HTML - 添加一个下拉菜单,我在这里做错了什么
- jquery/JavaScript 启用和禁用选择菜单.我做错了什么
- 5秒后打开弹出菜单我做错了什么
- 悬停上的引导下拉菜单不起作用,我做错了什么