如何从php到jquery获取变量ID

时间:2012-12-22 16:09:41

标签: jquery

这是我第一个问题。我寻找解决方案一周,虽然我尝试了很多方法,但仍然无效。

我不知道如何从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,它是由织机繁殖而($ 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>

请帮我找到解决方案,但实际上我被卡住了。我想补充一点,我也尝试使用。类。

2 个答案:

答案 0 :(得分:0)

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

获取itemCode课程的唯一项目。获取其ID(itemCode_ID)。拆分_。得到第二部分; ID。

答案 1 :(得分: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>

现在为整个itemCode类调用自动完成,并在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;
        }
    })
  })