Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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 每个表单字段上的Onkeyup_Javascript_Jquery_Ajax_Forms - Fatal编程技术网

Javascript 每个表单字段上的Onkeyup

Javascript 每个表单字段上的Onkeyup,javascript,jquery,ajax,forms,Javascript,Jquery,Ajax,Forms,我正在制作一个包含4个输入字段、2个日期选择器和3个选择字段的表单。我想在表单中的每个字段上添加onkeyup事件。当用户填充超过2个字段时,在ajax的帮助下,结果开始显示在名为result的div中。我的意思是,每当我更改任何字段数据时,都会使用ajax填充live in div $('#form input,select').keyup(function() { if ($('#from').val() !== '' && $('#to').val() !== ''

我正在制作一个包含4个输入字段、2个日期选择器和3个选择字段的表单。我想在表单中的每个字段上添加onkeyup事件。当用户填充超过2个字段时,在ajax的帮助下,结果开始显示在名为result的div中。我的意思是,每当我更改任何字段数据时,都会使用ajax填充live in div

$('#form input,select').keyup(function() {
    if ($('#from').val() !== '' && $('#to').val() !== '' && $('#depa').val() !== '' && $('#arr').val() !== '') {
           $.get('ajaxSearch.php', $("#form").serialize(), function(data) { $('#result').html(data); });
    } else {

    }
});
我尝试了一些使用ajax的现场发布,但不是全部,如果我再次更改,它将无法再次运行 改变


确保您正在使用jquery 1.4或更高版本

您可以使用“on”和“change”

$("#form").on("change", ":input", function(){alert('changed some element');});

只是复制粘贴下面的代码。。。 这可能会解决你的问题

$('#form input,select').keyup(function() {
    var count=0;
    $("input").each(function(){
        if($(this).val()!="") {
            count++;
        }
        if(count>1) {
            $.get('ajaxSearch.php', $("#form").serialize(), function(data) { $('#result').html(data); });
        }
        else{
            $("#result").hide();
        }
    });
});

请您试试$('#form')。更改(函数(){我刚才问了一个问题,为什么是否定的一点,是不是代码的格式比每个人都有不同的写作风格代码不仅可以发布前两个输入字段的值,而且不能发布其他的。实际上我有很多字段,当我再次更改任何字段的值时,你的代码都不起作用,你的代码只运行一次
$("#form").on("change", ":input", function(){alert('changed some element');});
$('#form input,select').keyup(function() {
    var count=0;
    $("input").each(function(){
        if($(this).val()!="") {
            count++;
        }
        if(count>1) {
            $.get('ajaxSearch.php', $("#form").serialize(), function(data) { $('#result').html(data); });
        }
        else{
            $("#result").hide();
        }
    });
});