jQuery未获取更改的输入值

jQuery not getting changed input value

本文关键字:输入 获取 jQuery      更新时间:2023-09-26

我有一个id为"filter"的按钮,还有两个输入字段:

<input type="text" name="Status" value="{{ $Status }}">
<input type="text" name="CusJobNum" value="{{ $CusJobNum }}">

然后我有这个jQuery脚本

$(document).on('click', '#filter', function(){
    var url = 'JobsByDate/?';
    $('input').each(function(){
        var a = $(this).attr('name');
        var b = $(this).attr('value');
        if(!(b == ''))
            url = url + '&'+a+'='+b;
    });
    window.location = url;
});

即使我对字段进行了更改,代码也只能获得输入的默认值。有人知道为什么吗?

使用val()获取值,现在您正在读取其属性。方法.attr()用于获取属性值

var b = $(this).val();

,转到本机

var b = this.value;

您使用attr()方法来获取始终返回标记中属性值的值。您应该使用val()方法来获取元素的当前值。

var b = $(this).val();

使用val()获取输入值。

 $(document).on('click', '#filter', function(){
        var url = 'JobsByDate/?';
        $('input').each(function(){
            var a = $(this).attr('name');
            var b = $(this).val();
            if(!(b == ''))
                url = url + '&'+a+'='+b;
        });
        window.location = url;
    });