2012-10-09 36 views
1

我有以下數據庫表(存在,雖然更多的數據庫數據,這還不是全部!):
填寫多個選擇框用JSON數據

catid value description 
0  350  350 euro 
0  500  500 euro 
0  650  650 euro 
1  0  No 
1  1  Yes 


隨着

jQuery171024539993586950004_1349776890005([{"0":"0","catid":"0","1":"350","value":"350","2":"350 euro","description":"350 euro"},{"0":"0","catid":"0","1":"500","value":"500","2":"500 euro","description":"500 euro"},{"0":"0","catid":"0","1":"650","value":"650","2":"650 euro","description":"650 euro"},{"0":"1","catid":"1","1":"0","value":"0","2":"No","description":"No"},{"0":"1","catid":"1","1":"1","value":"1","2":"Yes","description":"Yes"}]) 

現在我想的是使用JSON填寫S:PHP和json_encode()我創建這個表的JSON字符串的幫助就像你在HTML中一樣:

<select id="0"> 
    <option value="350">350 euro</option> 
    <option value="500">500 euro</option> 
    <option value="650">650 euro</option> 
</select> 

<select id="1"> 
    <option value="0">No</option> 
    <option value="1">Yes</option> 
</select> 

任何人都可以幫助我嗎?我知道如何做一個循環來填充表(使用$ .getJSON),但我有點卡在這一個。

+0

由json解析你應該必須做一個解析器,並通過if和其他條件上的addcat你將能夠做到這一點 –

回答

2

此功能將循環,並填充菜單(給你的貼源):

var populateSelects = function(data) { 
    var cat0 = $('select#0'), 
     cat1 = $('select#1'), 
     opt = $('<option />'), 
     newOpt = {}, 
     cat0opts = [], 
     cat1opts = []; 
    $.each(data, function(i, obj) { 
     //clone the option element so as to not re-create a new one 
     newOpt = opt.clone(); 
     //obj is the JavaScript object in the array, so 
     //dot-notation works nicely 
     newOpt.text(obj.description).val(obj.value); 
     if (obj.catid === "0") { 
      //push the DOM element, not the jQuery object 
      cat0opts.push(newOpt[0]); 
     } else if (obj.catid === "1") { 
      cat1opts.push(newOpt[0]); 
     } 
    }); 
    //Add the array of DOM elements to their respective menus, 
    //clearing out any existing menu items. 
    cat0.empty().append(cat0opts); 
    cat1.empty().append(cat1opts); 
}; 

下面是它在行動小提琴:http://jsfiddle.net/a5MTE/1/

一記重要的是catid比較......如果解析JSON返回catid爲數字(不是STR你會想要將比較改爲if (obj.catid === 0)

+1

完美!非常感謝花時間寫這篇文章。 –

0

由JSON解析你應該做一個解析器和如果和用addCat else條件,你將能夠做到這一點通過你發佈的對象

相關問題