我一直在尝试使用jQuery进行一些实验,基本上它没有用,这是我的HTML:
<input class="span4" value="" id="dpd1" type="text"> <!-- Input that needs value -->
<input class="span4" value="" id="dpd2" type="text" disabled> <!-- Input which needs 'enabled' -->
以及我在尝试使用jquery的内容:
$('#dpd2').click( function () {
var value = $('#dpd1').val();
if( value.length > 0 ){
$("#dpd2").prop('disabled', disabled); }
});
可能不应该试图通过点击来实现所有这些,但我之前在jQuery中确实做过这样的事情,所以不确定哪种方式最适合这种情况。
感谢任何帮助。
编辑:我选择了最能突出最短有效的方式来实现我想要的结果的答案。但是那里也有其他一些很棒的答案!谢谢!
答案 0 :(得分:3)
使用布尔值禁用/启用prop()
的属性:
$('#dpd1').on('keyup', function () {
$('#dpd2').prop('disabled', this.value.length < 1);
});
答案 1 :(得分:3)
您可能希望在第一个文本框的blur
$('#dpd1').blur(function () {
$("#dpd2").prop('disabled', !$.trim($('#dpd1').val()).length);
});
prop采用布尔值。当您最初将文本框设置为禁用时,您将无法再单击它。因此,一旦您从第一个文本框中聚焦,请使用blur
执行操作。使用$.trim()
从文本框值的末尾删除空格
答案 2 :(得分:1)
是的,点击这里不起作用,你需要实现change处理程序,然后检查该值是否为空字符串,如果不是,则更改其他输入的disabled属性。
类似的东西:
$('#dpd1').change(function () {
$("#dpd2").prop('disabled', $('#dpd1').val() == '');
});