2014-03-05 67 views
0

我想用從數據庫中提取的數據填充此jQuery對象。一旦我有這個數據,我怎樣才能得到它來填充字段它顯示了已被選定(實質上是給用戶一個選項,刪除現有的條件下)預填充JQuery多選工具

http://harvesthq.github.io/chosen/

這是示例站點和具體我使用的容器被稱爲「多選擇」

$(".chosen-select").chosen({ 
        no_results_text: "Oops, nothing found!", 
        width: "95%" 
       }); 
+0

顯示你的嘗試。 – MamaWalter

+0

@MamaWalter我不確定要嘗試的是什麼,這是我正在試驗的一個新的JQuery對象。 我剛剛初始化並填充了上面編輯過的原始選擇。 – user1058359

+0

不確定要理解,你想在加載頁面或更高版本時(ajax調用成功)將'options'添加到'select'中?你能顯示你想要的「PHP」和「HTML」嗎? – MamaWalter

回答

0

http://jsfiddle.net/xDm2n/1/

$('#chosen-select').chosen(); 
$.ajax({ 
    type: "POST", 
    url: '/echo/json/', 
    data: { 
     json: JSON.stringify({ 
      options: ['American Black Bear', 
       'Asiatic Black Bear', 
       'Brown Bear', 
       'Giant Panda', 
       'Sloth Bear', 
       'Sun Bear', 
       'Polar Bear', 
       'Spectacled Bear'], 
      selected: ['Brown Bear', 'Sun Bear'] 
     }), 
     delay: 0 
    } 
}).done(function (response) { 
    var a, element; 
    for (i = 0; i < response.options.length; i++) { 
     a = response.selected.indexOf(response.options[i]); 
     element = $("<option/>").text(response.options[i]); 
     if (a >= 0) element.attr('selected', 'selected'); 
     element.appendTo($("#chosen-select")); 
    }; 
    $("#chosen-select").trigger("chosen:updated"); 
}); 

您可以填寫您的選擇元素,你通常會,設置你想要選擇的項目,然後觸發更新事件(「選擇:更新」)

+0

實際上,它比這更容易,當爲此工具填充選項下拉菜單時,只需添加一個select那個已經存在的人。 JQuery函數負責預填充的其餘部分! 這是最接近的答案。 – user1058359

0
,如果你想有一些選擇

到已經被選中時,頁面加載只需添加selected="selected"的價值觀從數據庫返回。

FIDDLE DEMO

如果您有ajax call讓你的數據庫中的值,你將不得不觸發更改事件:$("#form_field").trigger("chosen:updated");