Jquery 当从另一个函数内部调用时,一个函数能否以不同的方式执行?
我在jQuery中有以下内容:Jquery 当从另一个函数内部调用时,一个函数能否以不同的方式执行?,jquery,Jquery,我在jQuery中有以下内容: function SelectAccounts() { if ($("#AccountID option[value='0000']").length > 0) { $.ajax({ url: "/Administration/Accounts/GetOptions", data: { ac: $('#AccountID').val() },
function SelectAccounts() {
if ($("#AccountID option[value='0000']").length > 0) {
$.ajax({
url: "/Administration/Accounts/GetOptions",
data: { ac: $('#AccountID').val()
},
success: function (data) {
$('#AccountID').html(data);
}
});
}
SelectProducts();
}
function SelectProducts() {
if ($("#ProductID option[value='0000']").length > 0) {
$.ajax({
url: "/Administration/Products/GetOptions",
data: { ac: $('#AccountID').val(),
pr: $('#ProductID').val()
},
success: function (data) {
$('#ProductID').html(data);
}
});
}
}
当帐户更改时,我希望产品列表更改,因此我将选择产品();在该函数的底部。但是,如果从selectAccounts()函数中调用selectProducts(),我希望它执行ajax调用,即使以下情况不正确
$("#ProductID option[value='0000']").length > 0)
有没有一个简单的方法我可以做到这一点。我想我必须将一些参数传递给seconf函数,但我不知道该怎么做 声明变量:
var force = false;
将函数更改为接受参数:
function SelectProducts(force){
if (force || $("#ProductID option[value='0000']").length > 0) {
...
}
}
然后在调用第二个函数时执行以下操作:
SelectProducts(true);
希望这能有所帮助。如果,为什么不删除
?如果您指的是不同的ajax调用,为什么不能使用else
?这看起来不错。我必须声明可变力吗。如果我不申报呢。有没有一种方法可以让它默认为false,比如函数SelectProducts(force=false)?与其他语言相比,JS没有那么简单:您不需要var force=false代码>行,具有函数SelectProducts(force)
就足以声明变量。如果在没有任何参数的情况下调用SelectProducts()
,则force
将是undefined
,这是错误的。基本上,javascript将其视为SelectedProducts(force=undefined)
幕后操作,就像SelectProducts(force=false)
为您操作一样。