2

我正在使用以下内容自动刷新 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,所以这确实限制了我一些..

有人能指出我正确的方向吗?谢谢

4

2 回答 2

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);
}
于 2013-06-04T08:16:11.327 回答
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"
  }
}
于 2013-06-04T08:03:23.270 回答