我有一個表格,我有兩個下拉選單主類別和子類別,它們都是使用 ajax 填充的。當用戶選擇主類別下拉選單時,首先禁用第二個下拉選單(子類別),然后啟用第二個下拉選單并在其中填充所有相應的值。(如果選擇了水果,那么在子類別下拉選單中將填充芒果和蘋果) 這一切都很好,直到這里。
現在的問題是,當我轉到串列頁面并嘗試編輯表單中的所有欄位時,表單中的所有欄位都填充了以前的值,子類別下拉串列除外。
例如:- 在編輯主類別下拉串列中將獲取水果,但應包含芒果的子類別下拉串列為空。
請幫助我解決這個問題。
我將在下面添加我的 ajax 以展示我如何嘗試實作這一目標。
填充正在作業的主要類別下拉串列
$.ajax
({
url: "listmaindropdown",
type: "GET",
dataType: "json",
success: function(loadmaindropdown)
{
var aaaa = $("#home_main_cat_dropdown_id");
$.each(loadmaindropdown, function(index,category)
{
$("<option>").val(category.m_id).text(category.main_category).appendTo(aaaa);
});
if(${product != null})
{
$('option[value="${product.home_main_category}"]').prop("selected","selected"); // its working here
}
},
})
用于填充子類別下拉串列
$("#home_main_cat_dropdown_id").change(function(value)
{
var main_category_values = this.value;
$.ajax
({
url: "listsubdropdown",
type: "GET",
data: "s_id=" main_category_values ,
dataType: "json",
success: function(loadsubdropdown)
{
var bbbb = $("#home_sub_cat_dropdown_id");
bbbb.find('option').remove();
$.each(loadsubdropdown, function(index,category)
{
$("<option>").val(category.m_id).text(category.sub_category).appendTo(bbbb);
});
if(${product != null})
{
// Here it's not working
$('#home_sub_cat_dropdown_id option[value="${product.home_sub_category}"]').prop("selected","selected");
}
},
});
});
uj5u.com熱心網友回復:
您的問題是通過 JavaScript 選擇選項不會觸發此處記錄的更改事件。
您需要使用手動觸發更改事件.trigger("change")。
在你的情況下:$('option[value="${product.home_main_category}"]').prop("selected","selected").trigger("change");
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/490661.html
上一篇:如何通過JavaScript復制和粘貼HTML/文本
下一篇:Ajax-先訪問xhr
