Javascript Ajax-在选择“自动完成”时更改禁用文本框的值

Javascript Ajax-在选择“自动完成”时更改禁用文本框的值,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我已经在一个文本框中编写了自动完成的代码。我的问题是如何根据自动完成选择为禁用的文本框赋值。我有两个实体产品名称和产品价格。产品名称在自动完成上。产品价格应根据自动完成选择动态变化 <tr> <td class="header" align="left" valign="top"> Enter the product<span class="required">*</span> </td> <td>

我已经在一个文本框中编写了自动完成的代码。我的问题是如何根据自动完成选择为禁用的文本框赋值。我有两个实体产品名称和产品价格。产品名称在自动完成上。产品价格应根据自动完成选择动态变化

<tr>
  <td class="header" align="left" valign="top">
   Enter the product<span class="required">*</span>
  </td>
  <td>
   <input class="text" type="text" name="product" id="tag" value="" align="left"  size="75" maxlength="80">
  </td>
  <td class="header" align="left" valign="top">
    price
 </td><td>
   <input class="text" disabled type="text" name="price"  value="" align="left" size="75" maxlength="80">
 </td>
 </tr>
Jquery Autocomplete Autocomplete.php会回显我的产品的值,比如xyz abc def

<script>
 $(document).ready(function(){
 $("#tag").autocomplete("autocomplete.php", {
    selectFirst: true
 });
});
 </script>
我是否应该将autocomplete.php作为xyz 100 abc 212 def 200回显?
非常感谢您的帮助

您需要使用选择功能

$("#tag").autocomplete("autocomplete.php", {
    source: "your link to the json feed here",
    selectFirst: true
    select: function( event, ui ) {
       $( "#element_needs_editing" ).val(ui.item.value);
       return false;
    }
 });
此外,还需要编辑autocomplete.php的json格式。使用值字段,它可能会保存文本、id或其他内容。使用该数组,可以将多个变量发送到首页。 最好的方法是将结果加载到一个数组中,并使用json_encode$array将其输出

您的搜索输出需要是json格式。实现这一点的最佳方法是将所有搜索结果值加载到一个数组中,并通过json_encode发送

<?php
//A simple array
$data = array();
$data[0]['value'] = 1;
$data[0]['item_code'] = "A001";
$data[0]['price'] = 15;
$data[1]['value'] = 2;
$data[1]['item_code'] = "A002";
$data[1]['price'] = 20;
echo json_encode($data);
?>
现在,如果您想引用项目代码,只需引用

$( "#element_with_item_code" ).val(ui.item.item_code);
或价格

$( "#element_with_price" ).val(ui.item.price);

试试这样的

        $(document).ready(function(){
             $("#tag").autocomplete("autocomplete.php", {
                selectFirst: true,
                select: function( event, ui ) {
                    if(ui.item){
                        document.getElementsByName('price')[0].value = ui.item.value
                    }
                }
             });
        })

我对json和ajax非常陌生。如果你能分享一些与这个qn相关的例子,我会很高兴的。看看。它有一个我相信你将需要的演示。是的,我自己完成了这个自动完成。但问题是还有另一个禁用的price文本框,它会根据所选产品动态更改其值。这正是我要找的。我想知道如何从autocomplete.php动态地为项目分配值。。换句话说,我如何从javascript调用autocomplete.php来为项目[]赋值。这可以解决我的全部问题。
        $(document).ready(function(){
             $("#tag").autocomplete("autocomplete.php", {
                selectFirst: true,
                select: function( event, ui ) {
                    if(ui.item){
                        document.getElementsByName('price')[0].value = ui.item.value
                    }
                }
             });
        })