2013-07-12 38 views
17

Có thể bằng cách nào đó để kết quả nhóm trong thành phần Select2 khi không sử dụng thẻ <select>, nhưng <input type="hidden"> và kết quả được cung cấp dưới dạng tùy chọn "dữ liệu" trong đối tượng cấu hình?Kết quả nhóm trong Select2

var select2Options = { 
    data: { 
    results: myArrayOfResults 
    } 
}; 

Trả lời

35

Vâng, results đối tượng hỗ trợ một thuộc tính children ...

để ví dụ:

var select2Options = { 
    data: { 
    results: [ 
     {text: "My shiny group", children: [ 
      {id: 1, text: "My shiny item"}, 
      {id: 2, text: "My shiny item2"} 
     ]} 
    ] 
    } 
}; 
+0

bạn có chắc chắn không? Didnt làm việc cho tôi: ( –

+1

Vâng, nó khá dài thời gian tôi sử dụng nó cuối cùng ... Tôi không biết nếu nó làm việc với phiên bản hiện tại của Select2. –

+0

đã làm việc cho tôi bây giờ, nhưng tiêu đề phải được thay đổi bằng văn bản. Tôi chắc rằng bài viết của bạn ở đây đã giúp tôi! –

0

Đối với ajax tải dữ liệu với nhóm và làm việc dữ liệu cho tôi sử dụng,

$arrFinal = array(array("name"=>"My shiny group 1", 
"children"=>array(array("id"=>1,"name"=>"My shiny item 11"),array("id"=>2,"name"=>"My shiny item 12")) 
),array("name"=>"My shiny group 2", 
"children"=>array(array("id"=>1,"name"=>"My shiny item 21"),array("id"=>2,"name"=>"My shiny item 22")) 
) 
); 
die(json_encode(array("result" => $arrFinal))); 

if formatResult: ratioFormatResult then, 
function ratioFormatResult(row) { 
// Here, you will get both group ("My shiny group 1") as well as data("My shiny item11") as row . 
} 

Để đặt trường id sử dụng có thể chọn nhóm cùng với tên trong nhóm.