Javascript 填写jquery生成的输入文本字段后启用按钮
文本字段的添加由jquery生成。我只想在输入文本字段后启用submit按钮。谢谢代码如下: 我试过这个密码,但没有成功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
(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);