Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 填写jquery生成的输入文本字段后启用按钮_Javascript_Jquery - Fatal编程技术网

Javascript 填写jquery生成的输入文本字段后启用按钮

Javascript 填写jquery生成的输入文本字段后启用按钮,javascript,jquery,Javascript,Jquery,文本字段的添加由jquery生成。我只想在输入文本字段后启用submit按钮。谢谢代码如下: 我试过这个密码,但没有成功 (function() { $('form > input').keyup(function() { var empty = false; $('body').find('input[type="text"]').each(function() { if (($(this).val() == '')) { emp

文本字段的添加由jquery生成。我只想在输入文本字段后启用submit按钮。谢谢代码如下:

我试过这个密码,但没有成功

(function() {
$('form > input').keyup(function() {

    var empty = false;
    $('body').find('input[type="text"]').each(function() {
        if (($(this).val() == '')) {
            empty = true;
        }
    });

    if (empty) {
        $('#submit').attr('disabled', 'disabled');
    } else {
        $('#submit').removeAttr('disabled');
    }
});
})()

这应该是正确的做法:

(function() {
$("form > input").keyup(function() {
    var text = $("form > input").val();

    if (text == "") {
        $('#submit').attr('disabled', 'disabled');
    } else {
        $('#submit').removeAttr('disabled');
    }
});
})()

给你一个解决方案

(函数(){
$('form')。在('keyup','input[type=“text”]”上,函数(){
var empty=false;
$('input[type=“text”]”)。每个(函数(){
if($(this.val()=''){
空=真;
}
});
if(空){
$('提交').attr('禁用','禁用');
}否则{
$(“#提交”).removeAttr('disabled');
}
});
})()
var i=1;
$(“.addmore”)。在('click',function()上{
$('提交').attr('禁用','禁用');
计数=$('table tr')。长度;
var数据=”;
数据+=“P”+i+”;
$('table')。追加(数据);
i++;
});
函数select_all(){
$('input[class=case]:复选框')。每个(函数(){
if($('input[class=check_all]:checkbox:checked')。长度==0{
$(this).prop(“选中”,false);
}否则{
$(this).prop(“选中”,true);
} 
});
}
$(“.delete”)。在('click',function()上{
$('.case:checkbox:checked').parents(“tr”).remove();
$('.check_all').prop(“checked”,false);
});

过程
爆发时间
-删除
+添加过程

您实际面临的问题解释了,基本上您应该使用
on()
而不是
keyup()
。及

input[type="text"]
将返回较少的计数,然后
form>input
,以下是更改

$(document).on("keyup", "input[type='text']", function() {
  var empty = false;
  $('input[type="text"]').each(function() {
    if (($(this).val() == '')) {
      empty = true;
    }
  });

  if (empty) {
    $('#submit').attr('disabled', 'disabled');
  } else {
    $('#submit').removeAttr('disabled');
  }
}); 


希望有所帮助,

您必须对任何动态添加的html元素使用委托绑定

尝试更改
$('form>input').keyup(function(){

在('keyup','input',function(){


祝您好运!

您尝试使用fiddle中的此url或控制台显示
Uncaught ReferenceError:select_all未定义
可能会将$('body').find('input[type=“text”]”)更改为$(this)。最近('form')。find('input[type=“text”]”)所以你只查询表单中的文本输入。谢谢你的快速回答,但这不是我想要的。问题是所有输入都是由jquery生成的,而不是HTML。嗨,谢谢你的快速回答,但这不是我想要的。问题是所有输入都是由jquery生成的,而不是HTML。是的!!这就是我想要的。谢谢兄弟..我的同事ete代码是(function(){$('form')。on('keyup','input',function(){var empty=false;$('body')。find('input[type=“text”]')。每个(function(){if($(this.val()=''){empty=true;}});if(empty){$('submit submit.attr('disabled','disabled');}其他{$('#submit').removeAttr('disabled');}}}}}()@enrique我很高兴能帮你得到这么简单的答案:D那么请把这个标记为接受答案哇!!是的。你的答案也对。谢谢你,兄弟。很遗憾,我不能在这里投票给任何答案。但是谢谢你Shiladitya。我爱你heheWe不应该使用
.attr()
.removeAttr()
用于元素道具,如“disabled”、“readonly”、“checked”等。我们应该使用
.prop()
。我们也最好使用单行代码,例如
$('#submit')。prop('disabled',empty);