【问题标题】:ajax for a array search [closed]用于数组搜索的 ajax [关闭]
【发布时间】:2012-08-29 11:05:43
【问题描述】:

我的视图代码是这样的

<?php for($i = 1; $i <=10; $i++):?>
        <tr>
            <td width="10">
                <?php echo $i;?>
            </td>

            <td>
            <input size="10" type="text" name="code[]" value="<?php echo '';?>" id="code" />
            </td>
            <td width="20%">
                <name="product[]" value="<?php echo '';?>" id="product"/>
            </td>
            <td>
                <input size="10"type="text" name="rate[]" value="<?php echo '';?>" id="rate" />
            </td>
            <td>
                <input size="10" type="text" name="quantity[]" value="<?php echo '';?>" id="quantity" />
            </td>
            <td width="15%">
                <name="total[]" value="<?php echo '';?>" id="total"/>
            </td>
            <td>
                <input size="10" type="text" name="sell[]" value="<?php echo '';?>" id="sell" />
            </td>

        </tr>
        <?php endfor;?>

在代码字段中,我只需输入代码,在产品字段中,ajax 将设置相应的产品名称。但主要问题是在第二行或第三行输入任何代码时,它也会为第一行设置产品。可以任何人都可以在 ajax 中的同名数组输入上解决此问题。我在 codigniter 框架中

【问题讨论】:

  • 请将您的 JavaScript 添加到问题中。

标签: php sql ajax jquery-autocomplete


【解决方案1】:

您在每一行中为相似的 HTML 标记使用相同的 ID。这是一个禁忌; ID 应该在整个文档中是唯一的。

要么用类替换你的 ID:

<td>
    <input size="10" type="text" name="code[]" value="<?php echo '';?>" class="code" />
</td>

或将 $i 变量附加到每个 ID 以便它们是唯一的:

<td>
    <input size="10" type="text" name="code[]" value="<?php echo '';?>" id="code_<?php echo $i ?>" />
</td>

并相应地调整您的 JavaScript。

【讨论】:

    猜你喜欢
    • 2018-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-20
    • 1970-01-01
    • 2012-08-03
    相关资源
    最近更新 更多