2012-03-03 85 views
3

这是我的脚本,改变后的输入值应该发送到php文件与Ajax.But它发送输入字段的实际值,这是通过PHP设置。我可以设置新的值给予?使用jQuery更改输入值后获取值?

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

你可以指出你在哪里线改变价值 – Rafay 2012-03-03 14:15:42

回答

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

     } 
    }); 
}); 
0

您需要使用val()方法是这样的:

newg=$(this).val(); 
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使用默认值,他们改变了。

0

尝试设置newg而不是.val(),并将其设置在change处理程序中以获取更新的值。

newg = $(this).val(); 

此外,你可能会发现它更具可读性的对象传递给data,一拉:

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