10/10/2018, 11:44

Cần giúp đỡ về phiên bản jquery - Tạo trang so sánh sản phẩm

Mình tạo trang so sánh sản phẩm như trang gico.vn

Đây là hàm so sánh sản phẩm:
PHP Code:
function ajaxSelect2Select(_form,selectbox1,selectbox2,url,param,optdef,iddef,titledef)
{
    var 
selbox1=$("#"+_form+" select***91;name="+selectbox1+"***93;");
    var 
sel=selbox1.val();
    $(
"#"+_form+" select***91;name="+selectbox2+"***93;").html('<option value="">Loading...</option>');
    $(
"#"+_form+" select***91;name="+selectbox2+"***93;").attr({"disabled":"disabled"});
    $.
ajax(
    {
        
type'GET'
        
urlurl,
        
data:  param+'&'+selectbox1+'='+sel,
        
dataType:"json",
        
success: function(data)
        {
            
//alert(data);
            
var options = (optdef==true)?'<option value="'+iddef+'">'+titledef+'</option>':';
            $.
each(data.lists, function(i,opt)
            {
                
options += '<option value="' opt.id '">' opt.title '</option>';
            });
            $(
"#"+_form+" select***91;name="+selectbox2+"***93;").html(options);
            $(
"#"+_form+" select***91;name="+selectbox2+"***93;").attr({"disabled":""});
        }
    });

Và mình kết với với Jquery Vesion: V1.3.2 thì không có vấn đề gì.

Nhưng khi mình sử dụng với Vesion: V1.7.2 thì không load được sản phẩm. >>Xem lỗi tại trang so sánh sản phẩm GICO.VN

Mong các bạn cho ý kiến giải quyết vấn đề, cách khắc phục lỗi để mình có thể sử dụng Vesion 1.7.3. Thanks
thienha20 viết 13:54 ngày 10/10/2018
Kiểm tra cái data trả về có đúng không. Nếu đúng thì tiếp tục kiểm tra biến option xem nó có chính xác không. Sai là sai ở 2 chỗ đó thôi. 1 cái nửa là attr "disabled" muốn hủy nó thì đừng dùng giá trị là "" mà dùng luôn hàm removeAttr nó sẽ chính xác hơn. Để xử lý js nhanh thì nên đặt id cho element
gicovietnam viết 13:54 ngày 10/10/2018
Mình đã kiểm tra lại các biến rồi, vấn đề là khác Vesion thì mới bị lỗi.
V1.3.2 thì dùng ổn
V1.7.2 thì không load data được
chẳng biết lỗi do đâu nữa., ko lẽ lại sài cái V1.3.2 (vesion đã cũ)
gicovietnam viết 13:59 ngày 10/10/2018
up để mong mọi người giúp đỡ
thienha20 viết 13:52 ngày 10/10/2018
dùng 1.3 và 1.7 thì data trả về có khác nhau không. Khác thì ajax xử lý lấy biến lên có vấn đề còn data trả về là giống nhau thì xét xuống hàm $.each --> data.lists thằng này có thể lổi không tìm ra. Không biết dùng phương pháp lọai suy hử. Cuối củng là kiểm tra select[name=...] thuộc tính name thường hay có vấn đề khó gọi(mà nghĩ jquery sẽ gọi ok)
Bài liên quan
0