drm30963 2018-10-23 00:57
浏览 71
已采纳

获取下拉值然后将其插入表格内的文本框,但不会更改第二行

enter image description here I'm trying to get the value of a dropdown then inserting it to my textboxes then after that it will save to database. The data is coming from the database. The problem is after I select data from the dropdown then click the insert button; only one textbox has changed. The other row is not changing. And when I click on insert button of the 2nd row, it changes the 1st row textbox.

javascript

  1. function copyValue(id) {
  2. var dropboxvalue = document.getElementById('mydropbox').value;
  3. document.getElementById('mytextbox').value = dropboxvalue;
  4. }

home.php

  1. <td align="center"><input type="submit" name="insert" onclick="copyValue(<?php echo $r['so_id'] ?>)" class="btn btn-success" value="Insert" /></td>
  2. <td><input class="form-control" name="dar_numberr" id="mytextbox" type="text" required="required" placeholder="Delivery Date" value="<?php echo $r['dar_numberr'] ?>"></textarea></td>

dropdown

  1. <?php
  2. $databaseHost = "localhost";
  3. $databaseUser = "root";
  4. $databasePassword = "";
  5. $databaseName = "csl_otd";
  6. $con=mysql_connect($databaseHost ,$databaseUser ,$databasePassword )or die ('Connection Error');
  7. mysql_select_db("csl_otd",$con) or die ('Database Error');
  8. ?>
  9. <select name="dar_number" id="mydropbox" class="form-control">
  10. <option value=""> -----------Available DAR Number----------- </option>
  11. <?php
  12. $dd_res=mysql_query("Select DISTINCT dar_number from dar");
  13. while($r=mysql_fetch_row($dd_res))
  14. {
  15. echo "<option value='$r[0]'> $r[0] </option>";
  16. }
  17. ?>
  18. </select>

展开全部

  • 写回答

1条回答 默认 最新

  • dte29947 2018-10-23 02:15
    关注

    My suspicion is that you are only targeting a specific id in your javascript, and that you might be using the same id for multiple inputs in different rows. Ids have to be unique.

    So instead, try this approach:

    1. //change only the input in the same row by click on button
    2. function copyValue(event) {
    3. var dropboxvalue = document.getElementById('mydropbox').value;
    4. event.target.parentElement.nextElementSibling.getElementsByTagName('input')[0].value = dropboxvalue;
    5. }
    6. //change all inputs by click on button
    7. function updateAllRows() {
    8. var dropboxvalue = document.getElementById('mydropbox').value;
    9. var inputs = document.getElementsByClassName('mytextbox');
    10. for (var i = 0; i < inputs.length; ++i) {
    11. inputs[i].value = dropboxvalue;
    12. }
    13. }
    1. <!-- example dropdown -->
    2. <select id="mydropbox">
    3. <option>myOption</option>
    4. <option>myOtherOption</option>
    5. </select>
    6. <!-- example if you want to update all rows at once -->
    7. <button onclick="updateAllRows()">
    8. Update all rows
    9. </button>
    10. <!-- example table -->
    11. <table>
    12. <tr>
    13. <!-- here, add the event to your function call to access the exact button that was clicked -->
    14. <td><input type="submit" name="insert" onclick="copyValue(event)" class="btn btn-success" value="Insert" /></td>
    15. <!-- here, change id to class - if you use it somewhere, css or something similar, use '.' instead of '#' -->
    16. <td><input class="form-control mytextbox" name="dar_numberr" type="text" required="required" placeholder="Delivery Date" value="myNumber" /></td>
    17. </tr>
    18. <tr>
    19. <!-- second row -->
    20. <td><input type="submit" name="insert" onclick="copyValue(event)" class="btn btn-success" value="Insert" /></td>
    21. <td><input class="form-control mytextbox" name="dar_numberr" type="text" required="required" placeholder="Delivery Date" value="myNumber" /></td>
    22. </tr>
    23. </table>

    https://jsfiddle.net/ba91jpxf/

    </div>
    

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部