我的变量todoHtmlLi是未定义的,为什么真的不能得到它。我在将其分配给某些html之前就已经声明了它。我使用console.log()检查优先级值,它工作正常。

$(document).on('click', '#addTodoBtn', function () {
    var todoDialog = {
        state0: {
            html: dialogContent,
            buttons: {
                Cancel: -1,
                Add: 0
            },
            focus: 1,
            submit: function (e, v, m, f) {
                e.preventDefault();

                var todoHtmlLi;
                var todoNameVal;
                var todoNoteVal;

                //Task Name
                todoNameVal = $("#todoName").val();
                todoNameVal.trim();

                //Note
                todoNoteVal = $("#todoNote").val();
                todoNoteVal.trim();

                //Priority
                priority = $("#priority").val();

                if ($(priority) === 1) {
                    todoHtmlLi = "<li style='background:red'><a href='#'>" + todoNameVal + "<input type='checkbox'></a></li>"
                } else if ($(priority) === 2) {
                    todoHtmlLi = "<li style='background:green'><a href='#'>" + todoNameVal + "<input type='checkbox'></a></li>"
                } else if ($(priority) === 3) {
                    todoHtmlLi = "<li style='background:blue'><a href='#'>" + todoNameVal + "<input type='checkbox'></a></li>"
                }

                if (v == 0) {
                    if (todoNameVal !== "") {

                        $("div#tab").find('#todoUl').prepend(todoHtmlLi);

                        $.prompt.close();

                    } else {
                        $("#todoName").focus();
                    }

                } else {
                    $.prompt.close();

                }
            }
        }
    }

    $.prompt(todoDialog);
});


if(v == 0){表示单击“是”按钮

最佳答案

首先:您只能将对todoHtmlLi的返回值(将是一个字符串)与使用val()(检查类型)的数字进行比较,从而将值分配给===

由于"1" === 1不是true,因此您永远不会分配值。

使用==,与字符串比较或转换为数字。

第二:您将值作为参数传递给$,因此您将获得一个jQuery对象而不是该String。这没有任何意义,所以不要这样做。

if (priority == 1){
if (priority === "1"){
if (parseInt(priority,10) === 1){

08-18 22:04