0

我有 5 个变量,我需要将它们格式化为查询并发送到服务器以进行进一步处理。我正在尝试通过 jQuery 来完成它并且它工作正常,但对我来说真正的挑战是有时这些变量包含空值。在那种情况下,我必须从查询中删除该部分。我担心的是如何删除包含空值的查询部分并发送正确的查询。任何帮助将不胜感激。谢谢。

var query;

$(document).ready(function () {
    $("#go").click(function () {
        var datefrom=$("#fromdate").val();
        var dateto=$("#todate").val();
        var extension= $("#extension").val();
        var authcode=$("#authcode").val();
        var wwid=$("#wwid").val();

        query = "'"+ datefrom +"'" + " and " + " '" + dateto + "'" + " and ";
        alert(query);

        $("#gridId").GridUnload();
        gridload();
    });
});
4

3 回答 3

0

您可以将它们链接在一起

if(datefrom && datefrom.length > 0) {
  query += "'"+ datefrom +"'";
}

if(dateto && dateto.length > 0) {
  query += " and '" + dateto + "'";
}

等等。

顺便说一句:这应该在服务器端完成,以验证用户给你的内容。

于 2013-07-02T08:29:14.030 回答
0
var pieces = [];
if (datefrom.length) {
    pieces.push("datefrom = '" + datefrom + "'");
}
/* repeat above for other fields */
query = pieces.join(' and ');
于 2013-07-02T08:30:35.017 回答
0

你也可以像这样做一个有趣的把戏:

query = "'" + [ datefrom, dateto ].join("' and '") + "'";

演示

于 2013-07-02T08:31:38.603 回答