Rumah >hujung hadapan web >tutorial js >Mengapakah borang edit dalam jqGrid memaparkan nilai pilihan yang salah dalam kotak pilihan semasa mengedit rekod?
Nilai Pilihan Jatuh Turun Pilih Salah dalam Kotak Sunting
Apabila menggunakan edit borang dalam jqGrid, ada kemungkinan untuk menemui nilai pilihan yang salah dalam kotak pilihan semasa mengedit rekod. Khususnya, nilai mungkin bermula dari 0 dan bukannya nilai mula yang betul.
Penerangan Isu
Pertimbangkan senario berikut:
Apabila mengedit rekod di mana negara itu ialah UK (nilai pilihan=2) dan keadaannya ialah Oxford (nilai pilihan=6), borang edit pada mulanya akan memaparkan negara dan negeri yang betul. Walau bagaimanapun, apabila kotak pilihan keadaan dibuka, nilai pilihan akan menjadi salah dan bermula dari 0. Nilai pilihan yang betul harus bermula dari 5.
Sebab
The punca utama ialah nilai pilihan penyuntingan untuk kotak terpilih digunakan sekali sahaja semasa pemulaan. Dalam kes di mana pilihan untuk kotak pilihan kedua diisi secara dinamik berdasarkan nilai kotak pilihan pertama, anda perlu mengemas kini pilihan kotak pilihan kedua secara manual.
Penyelesaian
Untuk menyelesaikan isu ini, kami akan mengikuti langkah berikut:
Contoh Kod
<code class="javascript">resetStatesValues = function () { grid.setColProp('State', { editoptions: { value: states} }); }; grid.jqGrid({ // ... other configuration options editoptions: { value: countries, dataEvents: [ { type: 'change', fn: function(e) { resetStatesValues(); var countryId = $(e.target).val(); var sc = statesOfCountry[countryId]; var newOptions = ''; for (var stateId in sc) { newOptions += '<option value="' + stateId + '">' + states[stateId] + '</option>'; } if ($(e.target).is('.FormElement')) { var form = $(e.target).closest('form.FormGrid'); $("select#State.FormElement", form[0]).html(newOptions); } else { var row = $(e.target).closest('tr.jqgrow'); var rowId = row.attr('id'); $("select#" + rowId + "_State", row[0]).html(newOptions); } } } ] } });</code>
Dengan melaksanakan langkah-langkah ini, kami memastikan bahawa nilai pilihan kotak pilihan kedua sentiasa tepat berdasarkan negara yang dipilih dalam kotak pilihan pertama.
Atas ialah kandungan terperinci Mengapakah borang edit dalam jqGrid memaparkan nilai pilihan yang salah dalam kotak pilihan semasa mengedit rekod?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!