【问题标题】:filled text input while dropdown click php pdo在下拉单击 php pdo 时填充文本输入
【发布时间】:2014-12-10 14:29:18
【问题描述】:

我曾经在单击下拉菜单时填充文本输入。但是在我从下拉列表中选择之后,文本输入仍然为空。我有 echo $jsArray ,它显示了数据。当我从下拉列表中选择时,文本输入应该已经获取数据。这是代码:

<script type="text/javascript">
<?php echo $jsArray; ?>
function changeValue(id){
document.getElementById('harga_satuan').value = hargaSatuan[id].satu;
};

</script>

<form action='create_detail.php' method='post'>

    <table class='table table-hover table-responsive table-bordered'>

        <tr>
            <td>No. Detail PO </td>
            <td><input type='text' name='detail_id' class='form-control' value='<?php echo $number; ?>' required></td>
        </tr>

        <tr>
            <div id="angka">
            <div id="input">
            <td>Quantity Yang Dipesan</td>
            <td><input type='text' class='qty_order' id='qty_order' name='qty_order' class='form-control'  onkeyup="hitung()"></td>
            </div>
            </div>
        </tr>

        <tr>
            <div id="angka">
            <div id="input">
            <td>Harga Per Unit(Rp)</td>
            <td><input type='text' class='harga_satuan' id='harga_satuan' name='harga_satuan' class='form-control' onkeyup="hitung()"></td>
            </div>
            </div>
        </tr>


        <tr>
            <td>ID Barang</td>
            <td>
            <?php
            // read from the database
            include_once 'objects/barang.php';

            $barang = new Barang($db);
            $stmt = $barang->read();

            // put them in a select drop-down
            echo "<select class='form-control' id='id_barang' name='id_barang' onchange='changeValue(this.value)'>";
                echo "<option>Select ..</option>";

                while ($row = $stmt->fetch(PDO::FETCH_ASSOC)){
                    $id_barang = $row['id_barang'];
                    $nama_barang = $row['nama_barang'];
                    $harga_satuan = $row['harga_satuan'];
                    echo "<option value='" . $row['id_barang'] . "'>" . $row['id_barang'] . "</option>";
                    $jsArray .= 'hargaSatuan["' . $row['id_barang'] . '"] = {satu:"' . addslashes($row['harga_satuan']) . '"};\n';
                }
            echo "</select>";
            ?>
            </td>
        </tr>

但在文本输入中,数据不显示。你能帮我解决这个问题吗?

【问题讨论】:

    标签: javascript php pdo


    【解决方案1】:

    试试这个

    function changeValue(){
      var sbox = document.getElementById("id_barang");
      document.getElementById('harga_satuan').value = sbox.options[sbox.selectedIndex].value;
    };
    

    然后像这样调用函数

    echo "<select class='form-control' id='id_barang' name='id_barang' onchange='changeValue()'>";
    

    【讨论】:

    • 它可以工作,但文本输入假设显示名为 harga_satuan 而不是 id_barang 的价格。结果是显示 id_barang,而不是 harga_satuan。怎么样?
    猜你喜欢
    • 1970-01-01
    • 2018-09-19
    • 1970-01-01
    • 2015-05-24
    • 2010-10-06
    • 1970-01-01
    • 2013-05-24
    • 1970-01-01
    • 2013-05-23
    相关资源
    最近更新 更多