【问题标题】:jQuery - if condition ignoredjQuery - 如果条件被忽略
【发布时间】:2019-09-11 21:45:54
【问题描述】:

我正在为 SharePoint 开发一个表单,使任务管理器能够通过单击按钮来分配/取消分配组。两个字段:1. 分配日期和 2. 状态

想法是如果日期字段为空,单击按钮将输入今天的日期并将状态更改为已分配。如果日期字段不为空,则 onclick 将清除日期并将状态更改为“na”。有超过 10 个组,每个组都有自己的按钮。

问题:我似乎无法让第一个“if”语句起作用,它似乎忽略了它。

鉴于这是针对 SharePoint,进行快速研究发现,通过类型和标题来引用字段似乎是最简单的。示例:$("input[title='date']").val

<button onclick="bASY">Assign</button>

<script>
var today = new Date();
    var todayDay = today.getDate();
    var todayMon = today.getMonth() + 1;
    var todayYear = today.getFullYear();
    today=todayMon + "/" + todayDay + "/" + todayYear;

    function bASY() {       
        if ($("input[title='date.assigned.ASY']").val('')) {
            $("input[title='date.assigned.ASY']").val(today);
            $("select[title='po.status.ASY']").val('Assigned');
        } else {
            $("input[title='date.assigned.ASY']").val('');
            $("select[title='po.status.ASY']").val('na');
        }
    }
</script>

Onclick 它将填充这两个字段,但是即使“date.assigned”不为空,它也会填充。此外,一旦 'date.assigned' 不为空,它就不会转到“else”。

【问题讨论】:

  • 你需要阅读.val('')的文档
  • @damooji 扩展其他评论,您在使用新功能/API 时的第一道防线应该是查看官方文档。对于.Net,这是 MSDN。对于 HTML/CSS/Javascript,这是 MDN。对于 jQuery,这是官方的 jQuery 文档。 Here is the official documentation for .val(). Please read it over
  • 感谢您的链接!

标签: jquery if-statement


【解决方案1】:

问题在于$("input[title='date.assigned.ASY']").val('') 是一个二传手。它将值设置为空白字符串。除此之外,val(newValue) 返回它操作的 jQuery 对象,并且对象总是真实的。删除 '' 以使用 getter 表单。

【讨论】:

    猜你喜欢
    • 2019-06-02
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-13
    • 1970-01-01
    • 2013-09-18
    相关资源
    最近更新 更多