Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 通过AJAX更新选择框_Jquery - Fatal编程技术网

Jquery 通过AJAX更新选择框

Jquery 通过AJAX更新选择框,jquery,Jquery,当我试图通过AJAX更新整个选择框时,只在第一次起作用。在php端,始终发送相同的信息,选项字段一次被禁用,另一次被选中 更换整个选择框时是否有问题 下面是JS代码 $(document).ready(function(){ $("select").change(function () { tid=location.href.replace(/^.*\/|\.[^.]*$/g, ''); colores=$("#colores option:sel

当我试图通过AJAX更新整个选择框时,只在第一次起作用。在php端,始终发送相同的信息,选项字段一次被禁用,另一次被选中

更换整个选择框时是否有问题

下面是JS代码

$(document).ready(function(){
$("select").change(function () {

        tid=location.href.replace(/^.*\/|\.[^.]*$/g, '');       
        colores=$("#colores option:selected").val();
        tallas=$("#tallas option:selected").val();
        marcas=$("#marcas option:selected").val();
        genero=$("#genero option:selected").val();
        $.get("/ajax/getdata/" + tid + ";" + colores + ";" + tallas + ";" + marcas + ";" + genero, function(data){
                    // Asignamos las nuevas opciones para el combo2
        $(".content").html(data);

        });
    })
});
为什么使用“;”作为值的分隔符? 您应该使用:

并在PHP页面中使用$\u GET[]:

<?php
$colores = $_GET['colores'];
$tallas = $_GET['tallas'];
$marcas = $_GET['marcas'];
$genero = $_GET['genero'];

// Do what you need to do with this
?>

但是,如果您的PHP总是返回相同的值,并且不应该返回相同的值,那么您的浏览器可能存在缓存问题:因为您对相同的url进行了请求,所以您的浏览器只需执行一次调用,然后为下一次调用保留以前返回的数据(以减少带宽使用)。 为了避免这个问题,您可以添加一个总是变化的参数(比如时间戳)


告诉我这个答案是否适合您,或者我会根据您的指示进行调整。

美元(“.content”).html(数据)返回整个选择,而不是选项。因此,我认为这不是浏览器缓存问题,我认为当新的select到达时,jquery不会刷新,因此它不会进行第二次调用以检索新内容。您是否可以发布PHP代码(并最终删除不必要的内容),以查看您的PHP究竟需要做什么?这是一个drupal模块,最重要的功能是它的营养素。我已经解决了。将我的jquery更新为1.3.1,并使用live函数绑定更改事件。
<?php
$colores = $_GET['colores'];
$tallas = $_GET['tallas'];
$marcas = $_GET['marcas'];
$genero = $_GET['genero'];

// Do what you need to do with this
?>