2012-03-03 54 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); 
      } 
     }); 
    }) 
}); 
相關問題