我试图让一些jQuery禁用我的表单上的确认按钮,如果下拉列表是一个特定的值,但它似乎没有工作.
我在这里阅读了很多帖子,并尝试了各种不同的方式.
这是我目前的代码:
<script>
$(document).ready(function () {
// Handler for .ready() called.
$('#MoveToCompanyId').attr("disabled", true);
$('#DeleteAll').live("click", function () {
if ($(this).attr("value") == "True") {
$('#MoveToCompanyId').attr("disabled", true);
} else {
$('#MoveToCompanyId').attr("disabled", false);
$('#confirm').attr("disabled", true);
$('#MoveToCompanyId').change(function () {
if ($("#MoveToCompanyId option:selected").text() != "---Select Company---") {
$('#confirm').removeAttr("disabled");
alert($("#MoveToCompanyId option:selected").text());
}
else {
$('#confirm').attr("disabled", true);
alert("I should be disabled!");
}
});
}
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
任何人都可以看到任何问题吗?
只是为了澄清,我知道它会进入正确的代码块,因为我的警报正在运行.它只是禁用按钮不起作用.
亲切的问候,
加雷思
ᾠῗᵲ*_*ᵲᄐᶌ 10
你应该使用
prop('disabled',true)
prop('disabled',false)
Run Code Online (Sandbox Code Playgroud)
如果您使用的是jQuery 1.6+,那么您应该使用prop.
阅读更多关于道具
属性通常会影响DOM元素的动态状态,而不会更改序列化的HTML属性.示例包括输入元素的value属性,输入和按钮的disabled属性或复选框的checked属性.该
.prop()方法应该用于设置禁用和检查而不是.attr()方法.该.val()方法应该用于获取和设置值.
| 归档时间: |
|
| 查看次数: |
11650 次 |
| 最近记录: |