如何使用jQuery格式化数据库查询

时间:2013-07-02 08:23:39

标签: javascript jquery ajax

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

3 个答案:

答案 0 :(得分:0)

你可以把它们连在一起

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

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

等等。

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

答案 1 :(得分:0)

var pieces = [];
if (datefrom.length) {
    pieces.push("datefrom = '" + datefrom + "'");
}
/* repeat above for other fields */
query = pieces.join(' and ');

答案 2 :(得分:0)

你也可以这样做一个有趣的伎俩:

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

DEMO