将ajax变量值分配给输入字段

时间:2019-05-19 11:42:46

标签: javascript ajax codeigniter

<input type="text" id="all_lineitem" name="all_lineitem[]">

function getlineitemid(){
	var a = $('#purchase_req').val();
	$('#hidden_req').val(a);
	var req = $('#hidden_req').val();
	//alert(req);
	$.ajax({
		type: "POST",
		url: "<?php echo admin_url('PurchaseOrder/getlineitemid/')?>", 
		data: {"req":req}, 
		dataType : 'json',
	
		success: function(data) {
			 var lineitemid = data.lineitemid;
			 for(var i = 0; i<parseInt(lineitemid.length); i++){
				console.log(lineitemid[i].id);
				$('#lineitemid1').val(lineitemid[i].id);
			 var a = lineitemid[i].id;
			 $('#all_lineitem').val(a); 
			 alert(a);
			 }
		}
	});	
}

变量a的值未分配给输入字段。我想在输入字段中添加多个值。

1 个答案:

答案 0 :(得分:0)

我认为您的json数据有点像这样

{"lineitemid":[{"id":1,...},{"id":2,...},...],...} 

当循环数据并将ID设置为文本框时,文本框中仅显示最后一个值。因此,您可以创建一个数组并将ID存储到其中。然后只需在数组上调用toString()方法,即可将id逗号分隔。

success: function(data){
    var lineitemid = data.lineitemid;
    var array = [];
    for(var i = 0; i<parseInt(lineitemid.length); i++){
        var a = lineitemid[i].id;
        array.push(lineitemid[i].id);
    }
    $('#all_lineitem').val(array.toString()); 
}