如何使用 jquery 的 multiselect 插件清空 ajax 中的 select 框调用 onchange 另一个 select 框?
How to empty select box in ajax call onchange another select box with multiselect plugin of jquery?
I am having 2 dependent dropdowns. Second one is depend on first
dropdown. I am using onchange event to get data in second dropdown
with ajax call.
下面是我的 2 个下拉列表和 ajax 调用:
第一个select框:
<select name="cust_type" id="cust_type" class="cust_type"
onchange="getCustomersByType(this.value);" >
<?php echo $customer_type;?>
</select>
第二个 select 框:
<select name="CompanyName[]" id="CompanyName" multiple class="customer_name" >
</select>
ajax 致电:
function getCustomersByType(value)
{
var getCust = $('#cust_type').val();
var customer_type = value;
$.ajax({
method: "GET",
dataType: 'json',
url:"include/ajax_files/bank_book/getdata.php?getCust="+getCust,
success:function(data)
{
$('#CompanyName').empty();
$.each(data, function(index, value)
{
$("#CompanyName").append('<option value="' + value.CUSTOMER_ID + '"' +
'>' + value.CUSTOMER_NAME+ '</option>');
$('#CompanyName').multiselect('rebuild');
});
}
});
};
我的数据是正确的。我可以先更改我的第二个下拉列表。
但是当我使用带有 multiselect 复选框的 multiselect 插件时,第二个下拉列表无法更改数据。
下面是 multiselect 的代码:
$(document).ready(function(){
$('#CompanyName').multiselect({
columns: 1,
placeholder: 'Select Com',
search: true,
selectGroup: true,
selectAll: true,
maxPlaceholderOpts: 0,
});
});
请帮我清空 select onchange 第一个下拉列表并显示数据。
填充后使用reload
方法显示新选项。
$('#CompanyName').multiSelect('reload');
I am having 2 dependent dropdowns. Second one is depend on first dropdown. I am using onchange event to get data in second dropdown with ajax call.
下面是我的 2 个下拉列表和 ajax 调用:
第一个select框:
<select name="cust_type" id="cust_type" class="cust_type"
onchange="getCustomersByType(this.value);" >
<?php echo $customer_type;?>
</select>
第二个 select 框:
<select name="CompanyName[]" id="CompanyName" multiple class="customer_name" >
</select>
ajax 致电:
function getCustomersByType(value)
{
var getCust = $('#cust_type').val();
var customer_type = value;
$.ajax({
method: "GET",
dataType: 'json',
url:"include/ajax_files/bank_book/getdata.php?getCust="+getCust,
success:function(data)
{
$('#CompanyName').empty();
$.each(data, function(index, value)
{
$("#CompanyName").append('<option value="' + value.CUSTOMER_ID + '"' +
'>' + value.CUSTOMER_NAME+ '</option>');
$('#CompanyName').multiselect('rebuild');
});
}
});
};
我的数据是正确的。我可以先更改我的第二个下拉列表。 但是当我使用带有 multiselect 复选框的 multiselect 插件时,第二个下拉列表无法更改数据。
下面是 multiselect 的代码:
$(document).ready(function(){
$('#CompanyName').multiselect({
columns: 1,
placeholder: 'Select Com',
search: true,
selectGroup: true,
selectAll: true,
maxPlaceholderOpts: 0,
});
});
请帮我清空 select onchange 第一个下拉列表并显示数据。
填充后使用reload
方法显示新选项。
$('#CompanyName').multiSelect('reload');