Pilihan Kotak Pilihan Bergantung dalam Borang Pengeditan jqGrid
jqGrid membenarkan anda mencipta kotak pilihan dinamik untuk mengedit borang, di mana pilihan bergantung pada pemilihan dibuat dalam kotak pilih yang berkaitan. Ini berguna untuk senario seperti memilih negara dan mengisi pilihan negeri dengan sewajarnya.
Isu: Nilai Pilihan Salah
Walau bagaimanapun, isu timbul apabila mengedit rekod dengan kotak pilihan keadaan yang dihuni secara dinamik. Nilai pilihan bagi kotak pilihan keadaan bermula dari 0 dan bukannya nilai jangkaan 5.
Penyelesaian: Menetapkan Semula Pilihan Pengeditan dan Bina Semula Manual
Untuk menyelesaikan isu ini, kuncinya ialah memahami bahawa jqGrid menggunakan pilihan penyuntingan sekali sahaja pada permulaan. Untuk mengisi kotak pilihan keadaan dengan betul berdasarkan negara yang dipilih, pilihan edit mesti ditetapkan semula dan kotak pilih dibina semula secara manual.
Begini cara penyelesaiannya dilaksanakan:
Tetapkan Semula Pilihan Pengeditan:
Perubahan Data:
Bina Semula Kotak Pilihan:
Kekalkan Nilai Negeri:
Coretan Kod:
<code class="javascript">// Reset the editoptions for the state select box var resetStatesValues = function () { grid.setColProp('State', { editoptions: { value: states}}); }; // Build new options for the state select box based on the selected country var changeStateSelect = function (countryId, countryElem) { var sc = statesOfCountry[countryId]; var newOptions = '<option value="">All</option>'; // If needed for (stateId in sc) { newOptions += '<option value="' + stateId + '">' + states[stateId] + '</option>'; } grid.setColProp('State', { editoptions: { value: statesOfCountry[countryId]} }); if ($(countryElem).is('.FormElement')) { // Form editing $(countryElem).closest('form.FormGrid').find("select#state.FormElement").html(newOptions); } else { // Inline editing var row = $(countryElem).closest('tr.jqgrow'); var rowId = row.attr('id'); $("select#" + rowId + "_State", row[0]).html(newOptions); } };</code>
Kesimpulan
Dengan menetapkan semula pilihan edit, membina semula kotak pilihan keadaan secara manual dan mengekalkan nilai keadaan yang dipilih, anda boleh pastikan borang edit dalam jqGrid memaparkan nilai pilihan yang betul untuk kotak pilihan bergantung.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Nilai Pilihan yang Salah dalam Kotak Pilih Bergantung jqGrid Semasa Mengedit?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!