Заполнение полей формы в ajax - PullRequest
0 голосов
/ 22 апреля 2019

Я пытаюсь заполнить поля формы AJAX при выполнении запроса.Мне удалось успешно выполнить запрос и получить данные, но проблема, с которой я сталкиваюсь, заключается в том, что поля ввода не заполняются.

Если я заполню возвращаемые данные в div, они будут отображаться, но не отображаются вполя формы.

Мой HTML-код

<form id="fm" method="post"  novalidate>
<div style="margin-bottom:10px">
<input class="easyui-textbox" name="descr" id="descr"  multiline="true" data-options="label:'Description:'" style="width:100%;">
</div>
<div style="margin-bottom:10px">
<input class="easyui-textbox" name="unit" id="unti" style="width:100%"  data-options="label:'Unit:'">
</div>
<div style="margin-bottom:10px">
<input class="easyui-numberbox" name="rate" id="rate" style="width:100%"  data-options="label:'Rate:'">
</div>
<div style="margin-bottom:10px">
<input class="easyui-numberbox" name="fixing" id="fixing" style="width:100%"  data-options="label:'Fixing:'">
</div>
<div style="margin-bottom:10px">
<input class="easyui-numberbox" name="quantity" id="quantity" style="width:100%"  data-options="label:'Quantity:'">
</div>
</form>

jQuery Code

function load_click(param)
{

    var resp = $("#loadstatus");

    $.ajax({
        type: "POST",
        url: "boqs/load.php",
        data: {},
        dataType: 'json',
        beforeSend: function(){
            resp.html(' <img src="../assets/img/rot_small.gif" />');
        },
        success: function (data) {
            if (Array.isArray(data) && data.length) {
                for (var i = 0; i < data.length; i++) { 
                  //for each   value in the json response
                    $(".descr").val(data[i].descr);
                    $(".unit").val(data[i].unit);
                    $(".rate").val(data[i].rate);
                    $(".fixing").val(data[i].fixing);
                    $(".quantity").val(data[i].quantity);
                    //alert(data[i].descr);
                } // for
                resp.html('');
            } 
         });
        }

Исходный код PHP

$sql = "SELECT * FROM bill_preparation ORDER BY id DESC LIMIT 1";
$ret2 = $db->query($sql);

$json_resp = array();


while($row = $ret2->fetchArray(SQLITE3_ASSOC)){
    $json_array['descr'] = $row['descr'];
    $json_array['unit'] = $row['unit'];
    $json_array['rate'] =  $row['rate'];
    $json_array['fixing'] = $row['fixing'];
    $json_array['quantity'] =  $row['quantity'];
    //$json_array['amount'] =  $row['amount'];

    array_push($json_resp, $json_array);
}
//$result["rows"] = $items;

echo json_encode($json_resp, true);

1 Ответ

1 голос
/ 22 апреля 2019

Большое спасибо за вашу поддержку. @ Патрик подсказал мне правильное направление.

Я обнаружил, что использование $(".descr").val(data[i].descr); не работает в easyui форме, поэтому я использовал $(".descr").textbox('setValue',data[i].descr);, который работал.

Я надеюсь, что это поможет кому-то, работающему с easyui .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...