我已经使用jQuery启用了多个文本框。但是如果没有选择单选按钮,我不确定如何重新启用它们。我必须对我当前的代码进行哪些修改?
<script type="text/javascript">
$(document).ready(function() {
$(":radio[id^=check]").click(function() {
var textId = "#" + this.id.replace("check", "text");
$(textId).removeAttr("disabled", "disabled").css('background-color', '#99FF66')
});
//alert("test");
});
</script>
答案 0 :(得分:2)
将$(textId).removeAttr("disabled", "disabled")
替换为$(textId).removeAttr("disabled")
如果您阅读文档很明显,removeAttr
不会带两个参数
答案 1 :(得分:1)
您可以使用单个处理程序同时执行这两个操作 - 在未选中单选按钮时禁用,在启用时启用。使用@ AlienWebGuy观察您可以使用已检查的测试来获取属性的值,这可以通过以下方式完成:
$(":checkbox[id^=check]").click(function() {
$("#" + this.id.replace("check", "text"))
.prop("disabled", $(this).filter(':checked').length == 0);
});
加上这个CSS
<style>
input:disabled {
background-color: #99ff66;
}
</style>
答案 2 :(得分:0)
您想要操纵属性,而不是属性:
$(textId).prop('disabled',true);
和$(textId).prop('disabled',false');
答案 3 :(得分:0)
我能够以这种方式完成任务。事实上,我的文本框和单选按钮上有id。那就是单选按钮id =“check1”textbox id =“text1”,单选按钮id =“check2”textbox id =“text2”。然后在我的拒绝id我有单选按钮id =“checker1”和textbox id =“text1”等。
因此,根据选择它将启用它并将其变为绿色,或禁用并将其变为红色。
这是代码。
<script type="text/javascript">
$(document).ready(function() {
//Goes through each and if click adds css and removes disable
$(":radio[id^=check]").click(function() {
var textId = "#" + this.id.replace("check", "text");
$(textId).removeAttr("disabled").css('background-color', '#99FF66').css('color', '#000')
});
//Goes through each and if checked adds disabled and turns red
$(":radio[id^=checker]").click(function() {
var textId = "#" + this.id.replace("checker", "text");
$(textId).attr("disabled", "disabled").css('background-color', '#FF0033').css('color', '#FFFFFF')
});
//alert("test");
});
</script>