首页 > 解决方案 > 使用 onclick 更改两个值

问题描述

不幸的是,Javascript 不能按预期工作。我想在文本区域中达到 onclick 值已更改。同时,输入中的值也应该改变。

 <textarea class="input"  style="width:100%;font-size:12pt;font-family: ArialMT, Verdana;font-weight: bold;height:100px;color:black" name="adresse" readonly="readonly" id="street"></textarea>
            <input style="width:130px;text-align: left" class="input" type="text" name="kundennr" id="kundennr" value="10000">

 <a href="#openModal">Kunden</a>
        <div id='openModal' class='modalDialog'>
    <div>
        <a href='#close' title='Close' class='close'>X</a>   

    <?php
    $sql = "SELECT * FROM `kunde` ORDER BY `kundennummer` ASC";    
     foreach ($dbh->query($sql) as $nav) {    
    $address = $nav['adresse']; 
    $name = $nav['kundennummer'];    
     echo " <a>$address</a> 
    <a> |  Kundennr: </a><a href='#' onclick='changeit(this);'>$name</a><br>";              
            }
        ?> 
    </div>
        </div>
        <script>function changeit(el) { 
            var inhalt = el.text;
            var db_address = '<?php echo $address; ?>';
            document.getElementById('kundennr').value=inhalt;
            document.getElementById('street').value =db_address;
        }
        </script>

更新对不起我忘记了模态框。

标签: javascriptphp

解决方案


您的函数 changeit(el) 仅使用最后一个 $address 生成一次;

从理论上讲,您可以在 foreach 语句中包含函数定义并生成此函数的 n 版本,但这将是一种可怕的方法。

您应该将地址数组发送到 javascript 并使用它

<code>
var js_addresses = json_encode($addresses);
</code>

推荐阅读