Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 当从另一个函数内部调用时,一个函数能否以不同的方式执行?_Jquery - Fatal编程技术网

Jquery 当从另一个函数内部调用时,一个函数能否以不同的方式执行?

Jquery 当从另一个函数内部调用时,一个函数能否以不同的方式执行?,jquery,Jquery,我在jQuery中有以下内容: function SelectAccounts() { if ($("#AccountID option[value='0000']").length > 0) { $.ajax({ url: "/Administration/Accounts/GetOptions", data: { ac: $('#AccountID').val() },

我在jQuery中有以下内容:

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)
为您操作一样。