Jquery - 更改load()中使用的URL

时间:2013-06-04 07:48:31

标签: php jquery load

我正在使用以下内容自动刷新div的内容。

 $(document).ready(function() {
     $("#log").load("test.php?q=" + $('#sq').val());
        var refreshId = setInterval(function() {
     $("#log").load("test.php?q=" + $('#sq').val());
        }, 1000); 

    $.ajaxSetup({ cache: false });
});

这似乎工作正常。我有一个名为'sq'的文本字段,其中输入的任何内容都由test.php搜索。

我的页面还有2个其他表单字段。 复选框和另一个文本字段。该复选框的ID为“chk”,文本字段为“txt”。

如果勾选复选框并在文本字段中输入值,我想要更改load()使用的URL。显然,这也需要包括'sq'。

有人可以指出我正确的方向。

勾选复选框的URL是:(现在是否是)

test.php?q=VALUE_FROM_sq

勾选复选框后,需要:

test.php?s=1&txt=VALUE_FROM_txt&q=VALUE_FROM_sq

然后test.php可以使用$ _REQUEST来获取传递的值。

我的网络盒只支持php4,所以这限制了我一些..

有人可以指出我正确的方向。感谢

2 个答案:

答案 0 :(得分:3)

只需在代码中添加一些逻辑:

$(document).ready(function() {
    $.ajaxSetup({ cache: false });
    var refreshId = setInterval(LoadLog, 1000); 
    LoadLog();
});

function LoadLog() {
    var sq = $('#sq').val();
    var text = $("#txt").val();
    var url = "test.php?q=" + encodeURIComponent(sq);
    if ($("#chk").is(":checked") && text.length > 0)
        url += "&s=1&txt=" + encodeURIComponent(text);
    $("#log").load(url);
}

答案 1 :(得分:0)

您可以将URL保存在单独的变量中,并在复选框的已更改事件上更新它。

var url = "test.php?q=VALUE_FROM_sq"

$(document.body).on('change', '#chk', function (event) {
  if ($(this).is(':checked')) {  
    url = "test.php?s=1&txt=VALUE_FROM_txt&q=VALUE_FROM_sq"
  } else {
    url = "test.php?q=VALUE_FROM_sq"
  }
}