javascript - jQuery,如何在页面加载时禁用或启用带有复选框的 <select> 元素?

标签 javascript jquery html

我有一个简单的功能,可以在选中/取消选中复选框时禁用/启用选择元素。它运作良好。然而,一旦表单被提交并且复选框加载已经被选中(在 PHP 的帮助下),选择不会被禁用,直到我点击复选框两次。

<select id="worldSelect" class="select" name="world">
<input id="worldcb" type="checkbox" checked="yes" value="any" name="world">
any world 

function toggleSelection(element){
    if (this.checked) {
        $(element.data).attr('disabled', 'disabled');
    } else {
        $(element.data).removeAttr('disabled');
    }
}

$(function() {
    $('#worldcb').click('#worldSelect', toggleSelection);
});

我已经尝试了几件事,但是到目前为止我对 jQuery 还不是很擅长...

最佳答案

看来您快到了。只有几个语法错误。

$("#worldcb").click(function(){
    var el = $("#worldSelect");
    if (el){
        el.removeAttr("disabled");
        if (this.checked){
            el.attr("disabled", "disabled");     
        }
    }
});        

这是一个 jsFiddle进行演示。

至于在回发页面时保持禁用状态,您只需要在页面加载时运行一些逻辑即可。

if ($("#worldcb").is(":checked")){
    $("#worldSelect").attr("disabled", "disabled");
}

关于javascript - jQuery,如何在页面加载时禁用或启用带有复选框的 <select> 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10524631/

相关文章:

Jquery:在容器之间移动可拖动元素

javascript - obj 和 $this 返回未定义

javascript - 被动事件监听器

javascript - 'return' 关键字是什么类型?

php - Firefox 浏览器的 Twitter Bootstrap 中不显示下拉箭头

javascript - 我正在寻找一些在 jQuery 中构建产品选择器的想法

javascript - 将文本框值传递给 JS 函数以转换为 JSON

javascript - .animate() 添加边距

javascript - 在jquery中排列html表格列

Javascript/AJAX 想要从留言簿条目中删除 html 类