2

我的视图代码是这样的

<?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 框架中

4

1 回答 1

0

您在每一行中为相似的 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。

于 2012-09-04T18:41:39.073 回答