2016-11-29 105 views
1

我的ajax函数工作正常。它从数据库中检索多个对象。全部是supplier_namesupplier_idresponse对象将它们放在页面上的正确元素中。如何将值从Ajax响应对象传递给元素

问题:当您单击其中一个选项时,如何将supplier_id放入隐藏元素中?

$('#supplier_name').autocomplete({ 
    minLength: 3, 
    source: function (request, response, term) { 

     var param = request.term; 
     $.ajax({ 
      url: "supplier_search/" + param, 
      dataType: "json", 
      type: "GET", 
      success: function (data) { 

       response($.map(data, function(item) { 
         return item.supplier_name; 
        } 

       )); 

      //  $("#supplier_search").val(item.supplier_name); THIS DOES NOT WORK 
     //  $("#supplier_id").val(item.id); 


      },//END Success 
     });//END AJAX 
    }, 

}); 

HTML

<div class="col-sm-4 col-md-4"><input class="form-control" placeholder="Type first 3 digits of name" name="supplier_name" type="text" id="supplier_name"></div> 
    <input id="supplier_id" name="supplier_id" type="hidden"> 
+0

显示您的HTML。 – RyanZim

+0

@RyanZim添加html - 欢呼 – Vince

回答

0

这里是我的代码:

我有一个标签<select id='cms_target2' name='cms_target2' onchange='javascript:cxChangeDept(2, this.value)' style='width:150px;'>

和我的javascript:

function cxChangeDept(level, val) 
{ 

     var data = { 
      level: level + 1, 
      dept_code: val, 
      type: "GET_DEPT" 
     }; 
     cxGetData(data); 
} 

    function cxGetData(data) 
    { 
    $.ajax({ 
     url: "index", 
     type: "POST", 
     data: data, 
     dataType: "json", 
     success: function (data) { 
      cxGetDataOK(data); 
     } 
    }); 
} 

    function cxGetDataOK(data) 
    { 


    //do somthing with your data 
} 
+0

非常感谢您的帮助。不幸的是,虽然我希望你的代码是正确的,但这不是我所需要的。 JS自动完成功能动态地创建了一个选项下拉列表,因此我不使用HTML'