-4

这是我有史以来的第一个问题。我寻找解决方案一周,虽然我尝试了很多方法,但仍然不起作用。

我不知道如何从 php 获取变量 ID 到 jquery;在我下面的短代码:

    $(document).ready(function(){

    var ID = $(this).attr('id');   //here I would like to get <?php echo $id; ?>

        $('#itemCode_'+ ID ).autocomplete({
            source: 'data/item-data.php',
            minLength: 1,
            select: function(event, ui) {

var ID = $(this).attr('id');

    $(this).closest('tr').find('#itemCode_' + ID).val(ui.item.itemCode);    
    $(this).closest('tr').find('#itemDut').val(ui.item.itemDut);
    $(this).closest('tr').find('#itemDesc').val(ui.item.itemDesc);

       $('#itemQty').focus();

      return false;   } 

下面是我的 php 乘以 loom while($row=mysql_fetch_array($sql))

<tr class="item-row">
<td><input id="itemCode_<?php echo $id; ?>" name="itemCode[]" class="itemCode" value="<?php echo $part_nr;?>"  ></td>
<td><input name="itemDut[]" value="<?php  echo $itemDut;?>"  ></td>
<td><input name="itemDesc[]" value="<?php  echo $forecast;?>"  ></td>
</tr>

请帮我找到解决方案,但我真的被卡住了。我想补充一点,我也尝试使用 . 班级。

4

2 回答 2

0
var ID = $('.itemCode').prop('id').split('_')[1];

获取该类的唯一项目itemCode。获取其 ID (itemCode_ID)。拆分在_. 获取第二部分;身份证。

于 2012-12-22T16:12:04.980 回答
0

假设您有多个需要自动完成的行,您可以通过为每个不同的输入添加一个公共类来简化这一点

<td><input class="itemCode" id="itemCode_<?php echo $id; ?>" name="itemCode[]" value="<?php echo $part_nr;?>"  ></td>
<td><input class="itemDut" name="itemDut[]" value="<?php  echo $itemDut;?>"  ></td>
<td><input class="itemDesc" name="itemDesc[]" value="<?php  echo $forecast;?>"  ></td>

现在为整个类调用 autocompleteitemCode并在 select 事件中搜索相应的类。

进行此遍历或调用自动完成初始化不需要 ID:

 $(document).ready(function() {

    $('.itemCode').autocomplete({
        source: 'data/item-data.php',
        minLength: 1,
        select: function(event, ui) {


            $(this).closest('tr').find('.itemCode').val(ui.item.itemCode);
            $(this).closest('tr').find('.itemDut').val(ui.item.itemDut);
            $(this).closest('tr').find('.itemDesc').val(ui.item.itemDesc);

            $('#itemQty').focus();

            return false;
        }
    })
  })
于 2012-12-22T16:23:55.610 回答