jQuery没有改变输入值

时间:2016-08-04 06:39:58

标签: javascript jquery input

我有一个带有ID'过滤器'还有两个输入字段:

<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;
});

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

3 个答案:

答案 0 :(得分:3)

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

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

OR ,Go native

var b = this.value;

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

使用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;
    });