2013-06-28 29 views
7

Đối với một nhóm tùy chọn đơn giản, nói:làm thế nào để có được nhóm lựa chọn của mục được chọn trên .chosen() thay đổi()

<optgroup label="fruit"> 
    <option value="1"> apples </option> 
    <option value="2"> pears </option> 
    </optgroup> 
    <optgroup label="veg"> 
    <option value="3"> neeps </option> 
    <option value="4"> tatties </option> 
    </optgroup> 

Tôi có thể có được lấy id nào được lựa chọn của ... Sử dụng :

$('#my-chzn').chosen().change(
     function(evt) { 
      var id = $(this).val(); 
      // ...or 
      var id_ = $(evt.target).val(); 
     } 
    ); 

Nhưng có thể lấy nhãn <optgroup> cho tùy chọn đã chọn không? tức là có một xử lý/bộ chọn để lấy giá trị 'trái cây' khi tùy chọn được chọn là 'lê'?

Rất cám ơn sự giúp đỡ nào của bất kỳ ai có thể cung cấp ....

Trả lời

9

Bạn có thể thực hiện những gì bạn muốn như mã được hiển thị bên dưới

$('.chosen').chosen().change(
    function (evt) { 
     var label = $(this.options[this.selectedIndex]).closest('optgroup').prop('label'); 
     alert(label); 
}); 

Demo on fiddle

+0

Đó là tuyệt vời. Cảm ơn bạn rất nhiều! – user908094

+1

'$ (this.selectedOptions) .closest ('optgroup'). Prop ('label')' là một chút ngắn hơn –