我将如何在此语句中添加另一个不等于 (!=)



我将如何在此语句中添加另一个不等于 (!=) 的值?

if ($(this).data("increase_priority1") && $(this).val() != 1) 

我尝试在函数开头反转语法,以确定它是否相等,但这阻止了它完全删除项目(包括不等于 1 的项目)

if ($(this).data("increase_priority1") && $(this).val() != 1 && $(".complaint select").val() != "Too_small")

当用户同时选择投诉并对问题的重要性级别进行排名时,此功能会从"increase_priority1"中添加和/或删除值,如果这两个字段中的任何一个发生更改,我需要它来更改值(在本例中为投诉是什么)和重要性级别(即increase_priority1)。目前,它仅在重要性级别更改时更改。

完整的功能是:

var $increase_priority1 = $(".increase_priority1");
$('.ranking, .complaint select').dropkick({
change: function () {
    var name = $(this)
        .data("name"); //get priority name
    if ($(".complaint select")
        .val() === "Too_small" && $(this)
        .val() == 1 && !$(this)
        .data("increase_priority1")) {
        //rank is 1, and not yet added to priority list
        $("<option>", {
            text: name,
            val: name
        })
            .appendTo($increase_priority1);
        $(this)
            .data("increase_priority1", true); //flag as a priority item
    }
    if ($(this)
        .data("increase_priority1") && $(this)
        .val() != 1) {
        //is in priority list, but now demoted
        $("option[value=" + name + "]", $increase_priority1)
            .remove();
        $(this)
            .removeData("increase_priority1"); //no longer a priority item
    }
}
});

小提琴在上下文中显示了这一点:http://jsfiddle.net/chayacooper/vWLEn/132/

当至少一个操作数为真(可能两个操作数都为真)时,OR运算为真。您的陈述应该是:

if ($(this).data("increase_priority1") && 
    ($(this).val() != 1 || $(".complaint select").val() != "Too_small")). 

||是OR的Javascript语法。

如果.data("increase_priority1")为真$(this).val() != 1$(".complaint select").val() != "Too_small")为真,这将运行if

请注意,如果&&的第一部分是假的,解释器将停止,也就是说:它甚至不会看第二部分。对于||也是如此,但反过来,所以如果||的第一部分是真的,它就不会看第二部分。

最新更新