-1

我有这样的php数组:

<form name="qwerty">
    <? foreach ($products as $product)?>
    <input type="text" name="price1[]" id="<? $product['id']?>" value="<? $product['price1']?>" onkeyup="copy()"/>

    <input type="text" name="price2[]" id="<? $product['id']?>" value="<? $product['price2']?>" />
    <? end foreach?>
</form>

如何在此 javascript 代码中使用该 id 值:

<script type="text/javascript">
function copy()
{
  var cc1 = document.getElementById('???????');
  var cc2 = document.getElementById('???????');
  cc2.value = cc1.value;
}
</script>
4

3 回答 3

0

将产品 ID 作为copy()函数的参数放入。然后它可以通过字符串连接获得适当的 ID。

<form name="qwerty">
    <? foreach (products as product)?>
    <input type="text" name="price1[]" id="price1_<? $product['id']?>" value="<? product['price1']?>" onkeyup="copy('<? $product['id']?>')"/>

    <input type="text" name="price2[]" id="price2_<? $product['id']?>" value="<? product['price2']?>" />
    <? end foreach?>
</form>

function copy(pid) {
    var cc1 = document.getElementById('price1_'+pid);
    var cc2 = document.getElementById('price2_'+pid);
    cc2.value = cc1.value;
}
于 2013-05-18T08:48:05.247 回答
0

尝试这个

 <form name="qwerty">
 <?php foreach ($products as $product){?>
    <input type="text" name="price1[]" id="<? echo $product['id']?>" value="<? echo  $product['price1']?>" onkeyup="copy(this)"/>

   <input type="text" name="price2[]" id="mirror<? echo  $product['id']?>" value="<? echo $product['price2']?>" />
 <?php }?>
 </form>

<script type="text/javascript">
 function copy(e)
{
  document.getElementById("mirror"+e.id).value=e.value;
}
</script>
于 2013-05-18T08:55:41.870 回答
0

您的 PHP 代码中有一些无效的语法:

  1. 您的变量不包含$.
  2. 您不必echo输出变量。
  3. 您的循环必须与endforeach.

考虑您有以下数组:

<?php
    $products = array(
        array('id' => 1, 'price1' => 1, 'price2' => 2),
        array('id' => 2, 'price1' => 1, 'price2' => 2),
        array('id' => 3, 'price1' => 1, 'price2' => 2)
    );
?>

在您的 HTML 中:

<?php foreach ($products as $product): ?>
    <input type="text" name="price1[]" id="<?php echo $product['id']; ?>_F" value="<?php echo $product['price1']; ?>"
        onkeyup="copy('<?php echo $product['id']; ?>')" />
    <input type="text" name="price2[]" id="<?php echo $product['id']; ?>_T" value="<?php echo $product['price2']; ?>" />
    <hr>
<?php endforeach; ?>

你的功能将是:

<script>
    function copy(id) {
        document.getElementById(id + '_T').value = document.getElementById(id + '_F').value
    }
</script>
于 2013-05-18T08:51:27.700 回答