我的代码有问题。我想把值放在文本框中,但值不能很好地显示..
for(var i = 0;i<jmlitem;i++){
$('.form-item').append("<p>"+u+" - "+
"<input type='text' name='harga["+i+"]'/>"+ <<-- here my text box
"<input type='number' name='jml["+i+"]'/>"+
"<input type='text' name='keterangan["+i+"]'/></p>");
$("select").change(function(){
var id_item = $(this).find( "option:selected" ).val();
$.ajax({
type:'POST',
url: "{{URL::to('getharga')}}",
data: 'id_item='+id_item,
dataType:'json',
success: function(data){
$(this).next("input[type='text']").val(data.harga); //<-- this is not working
console.log(data.harga); //<--display in console
}
});
});
}
我试过这样但错误..你能帮帮我吗? THX ..
答案 0 :(得分:0)
你的上下文在ajax方法中丢失了。使用选项context
在ajax中设置元素上下文:
$.ajax({
type:'POST',
url: "{{URL::to('getharga')}}",
data: 'id_item='+id_item,
context:this,
dataType:'json',
success: function(data){
$(this).next("input[type='text']").val(data.harga);
}
});
答案 1 :(得分:0)
根据您的代码
success: function(data){
$(this).next("input[type='text']").val(data.harga); //<-- this is not working
console.log(data.harga); //<--display in console
}
data.harga 包含您要放置在具有选择器查询的某个文本框中的数据
$(this).next("input[type='text']").val(data.harga);
尝试在控制台中调试并检查以下命令。
$(this).next("input[type='text']").length
如果长度&gt; 0 然后只将值分配给输入控件。如果 == 0 ,则必须更改选择器。 如果你分享html标记,我可以帮助你更多。
希望它有所帮助.....