通过AJAX更新选择框

时间:2011-04-05 09:55:29

标签: jquery

当我尝试通过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);

        });
    })
});

1 个答案:

答案 0 :(得分:0)

你为什么用“;”作为你的价值观的分隔符? 您应该使用"data" parameter instead

var oData = {
    'colores': colores,
    'tallas': tallas,
    'marcas': marcas,
    'genero': genero
}
$.get("/ajax/getdata/", oData, function (data) {
    // Asignamos las nuevas opciones para el combo2
    $(".content").html(data);
});

在PHP页面中使用$ _GET []:

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

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

但是如果你的PHP总是返回相同的值而不应该,那么你的浏览器可能存在缓存问题:因为你对同一个网址发出了请求,你的浏览器一旦进行了调用,就会保留之前返回的数据对于每个下一个呼叫(为了减少带宽使用)。 为了避免此问题,您可以添加一个始终更改的参数(如时间戳)。

告诉我这个答案是否适合你,或者我会根据你的适应症进行调整。