从另一个函数内部调用时函数可以执行不同的操作吗?

时间:2011-12-27 05:21:01

标签: jquery

我在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);
            }
        });
    }
}

当帐户发生变化时,我想要更改产品列表,所以我把SelectProducts();在该功能的底部。但是我希望它执行ajax调用,即使以下内容不正确如果从selectAccounts()函数中调用selectProducts()

$("#ProductID option[value='0000']").length > 0)

有没有一种简单的方法可以做到这一点。我想我必须将一些参数传递给seconf函数,但我不知道该怎么做。

1 个答案:

答案 0 :(得分:1)

声明变量:

var force = false;

更改接受参数的功能:

function SelectProducts(force){

  if (force || $("#ProductID option[value='0000']").length > 0) {

    ...
  }
}

然后在调用第二个函数时执行:

SelectProducts(true);

希望有所帮助。