[英]Jquery dropdown onchange issue
我有两个下拉列表,它们是从mysql动态填充的。 一种用于银行,另一种用于分支机构。 如果银行下拉菜单发生更改,则其行数数据应显示在分支下拉菜单中。 在这里,我使用了两个单独的函数来完成这项工作,并且它们都可以正常工作。
这就是我定义这两个函数的方式:
function Banks($selecter, selected) {
// my stuff ----
}
function Branches($selecter, bid, selected) {
// my stuff ----
}
我的问题是,现在我为银行下拉列表设置了默认值,以在准备好文档时显示。 但是它的分支数据没有填充。 但是,当我从银行更改数据时,它的工作原理。
这是我尝试的方法:
var bankReg = $('#DropDownEdit').data('id');
var branchReg = $('#branchDropDown').data('id2');
Banks($('#DropDownEdit'), bankReg);
$(document).on('change', '#DropDownEdit', function(){
var bankID = $("#DropDownEdit").val();
Branches($('#branchDropDown'), bankID, branchReg);
});
UPDATE:
我的Banks
功能:
function Banks($selecter, selected) {
$selecter.empty();
$selecter.append('<option>Loadding.....</option>');
$selecter.append("<option value=''>--- Select Bank ---</option>");
$.ajax({
type: "post",
url: "includes/process_bank_dropdown_populate_ajax.php",
contentType: "application/json; charset-utf-8",
dataType: "json",
success: function(data) {
$selecter.empty();
$selecter.append("<option value=''>--- Select Bank ---</option>");
$.each(data, function(i,item){
var selecting;
if (selected === data[i].bankID) {
selecting = ' selected="selected"';
} else {
selecting = '';
}
$selecter.append('<option '+selecting+' value="'+data[i].bankID+'">'+data[i].bank+'</optoin>');
});
},
complete: function() {}
});
}
谁能告诉我如何使它工作? 谢谢。
您可以触发更改后的银行以执行您想要的操作,只需在填充默认银行后调用它,它将像您手动选择银行一样触发。
$("#bankDropDownEdit").change();
在文档加载时,首先隐藏两个列表,然后获取默认银行的分支并填充列表,然后在回调函数中使两个列表都出现
当您将值分配给下拉列表时,它不会调用任何更改事件,而从下拉列表中进行选择时,则会触发该事件。
在为下拉呼叫更改事件分配值之后
$(“#bankDropDownEdit”)。change();
在看不到您的代码的情况下,我只能给您一个线程来解决问题。
在Banks
方法内调用Branches
方法。
function Banks($selecter, selected) {
// my stuff ----
// Put this inside ajax success callback as last statements
var bankID = $("#DropDownEdit").val(); // Check this value available here or take value from success callback directly.
var branchReg = $('#branchDropDown').data('id2'); // Check this value available here or take value from success callback directly.
Branches($('#branchDropDown'), bankID, branchReg);
}
这里bankID
和branchReg
是默认选择的值。 如果可以在Banks
方法中访问上述变量的范围,则这些功能有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.