将数据添加回文本字段

时间:2018-07-26 20:41:36

标签: php ajax

我正在尝试使用AJAX从数据库填充<input />,但是只能在<textarea><span>中进行数据测试。

我的AJAX代码

$('#part_number').on('change', function() {

    var part_number = $(this).val();

    $.ajax({
        url: '<?PHP echo admin_url('admin-ajax.php'); ?>',
        type: 'post',
        data: { action: 'description', part_number: part_number },
        success: function(data) {

            $('#description').val( data );

        }
    });

});

我的输入字段

<input id="description" value="" />

functions.php

add_action('wp_ajax_description' , 'description');  //ajax parameter action
add_action('wp_ajax_nopriv_description','description');
    function description(){
       $part_number = $_POST['part_number']; //id

       global $wpdb;
       $stock = $wpdb->get_results("SELECT * FROM _cif_inventory_table WHERE part_number = '$part_number'");
           foreach ( $stock as $item ) {
             echo $item->Description;
           }

      die();
}

我在这里或Google都找不到任何东西

编辑,这是一个循环,所以有20行,但是唯一起作用的是第一行,我做错了什么?

<?PHP
            for ($i = 1; $i <= 20; $i++){
        ?>
            <div id="lines" class="row">
                <div class="col-sm-1" style="text-align:left;border:1px solid #808080"><span id="row_number"><?PHP if ( $i < 10 ){ echo "0".$i;}else{echo $i;} ?></span></div>
                <div class="col-sm-2" style="text-align:left;border:1px solid #808080">
                    <select id="part_number" style="border:0px;">
                        <option value="None Selected"></option>
                        <?PHP
                            $partNumbers = $wpdb->get_results("SELECT * FROM _cif_inventory_table;");
                                foreach ($partNumbers as $partNumber) {
                                    echo '<option value="'.$partNumber->part_number.'">'.$partNumber->part_number.'</option>';
                                }
                        ?>
                    </select>
                </div>
                <div class="col-sm-1" style="text-align:left;border:1px solid #808080"><input size="5" maxlength="5" id="quantity" value="" /></div>
                <div class="col-sm-6" style="text-align:left;border:1px solid #808080"><input size="75" id="description" value="" /></div>
                <div class="col-sm-1" style="text-align:left;border:1px solid #808080"><input id="unitPrice" value="" /></div>
                <div class="col-sm-1" style="text-align:left;border:1px solid #808080"><input id="amount" value="" /></div>
            </div><!-- end .row -->
        <?PHP
            }
        ?>

1 个答案:

答案 0 :(得分:1)

您要填写输入的value属性,因此需要使用.val()

$('#description').val( data );