使用jQuery更改输入值后获取值?

时间:2012-03-03 14:13:17

标签: jquery

这是我的脚本,在更改输入值之后应该将其发送到带有Ajax的php文件。但它从输入字段发送实际值,这是通过php设置的。如何设置新值?

var idg;
var newg;

$('input.readonly').live("click",
    function() {
    $(this).attr('readonly', false);
    idgs=$(this).attr('id');
    newg=$(this).attr('value');

    $(this).change(function(){
        $.ajax({
          type:'POST',
          url: 'new.php',
          data: "idgs="+ idgs +"&newg="+ newg,
          success: function(data) { $('.right').html(data); }
        });
    })
}); 

4 个答案:

答案 0 :(得分:1)

$(this).change(function(){
 $.ajax({
      type:'POST',
      url: 'new.php',
      data: "idgs="+ idgs +"&newg="+ $(this).val(),
      success: function(data) {
        $('.right').html(data);

      }
    });
});

答案 1 :(得分:1)

var idg;
var newg;
$('input.readonly').live("click", function(){

    $(this).attr('readonly', false);

    $(this).change(function(){
        idgs=$(this).attr('id');
        newg=$(this).val();
        $.ajax({
            type:'POST',
            url: 'new.php',
            data: "idgs="+ idgs +"&newg="+ newg,
            success: function(data) {
                $('.right').html(data);
            }
        });

    })

}); 

这应该是这样做的,你可以在更改之前用idgnewg填充默认值。

答案 2 :(得分:0)

您需要使用val()方法,如下所示:

newg=$(this).val();

答案 3 :(得分:0)

尝试使用newg设置.val(),并在change处理程序中设置它以获取更新的值。

newg = $(this).val();

此外,您可能会发现将对象传递给data,la:

更具可读性
data: {
    'idgs': idgs,
    'newg': newg
},

完整代码:

$('input.readonly').live("click", function () {
    $(this).attr('readonly', false);
    $(this).change(function () {
        var idgs = $(this).attr('id');
        var newg = $(this).val();
        $.ajax({
            type: 'POST',
            url: 'new.php',
            data: {
                'idgs': idgs,
                'newg': newg
            },
            success: function (data) {
                $('.right').html(data);
            }
        });
    })
});