2017-05-16 4 views

답변

1

당신은 다음과 같이 추가 할 수 있습니다 : https://codepen.io/anon/pen/XgEbRL?editors=1010

HTML :

<div class="input-field col s12"> 
    <select multiple> 
     <option value="" disabled selected>Choose your option</option> 
     <option value="1">Option 1</option> 
     <option value="2">Option 2</option> 
     <option value="3">Option 3</option> 
    </select> 
    <label>Materialize Multiple Select</label> 
    </div> 
    <a class="btn" onClick="javascript:selectAll()">Select all</a> 
    <a class="btn" onClick="javascript:selectNone()">Select none</a> 

자바 스크립트 :

var activateOption = function(collection, newOption) { 
    if (newOption) { 
     collection.find('li.selected').removeClass('selected'); 

     var option = $(newOption); 
     option.addClass('selected'); 
    } 
}; 

$(document).ready(function() { 
    $('select').material_select(); 
    $('.test-input > .select-wrapper > .select-dropdown').prepend('<li class="toggle selectall"><span><label></label>Select all</span></li>'); 
    $('.test-input > .select-wrapper > .select-dropdown').prepend('<li style="display:none" class="toggle selectnone"><span><label></label>Select none</span></li>'); 
    $('.test-input > .select-wrapper > .select-dropdown .selectall').on('click', function() { 
     selectAll(); 
     $('.test-input > .select-wrapper > .select-dropdown .toggle').toggle(); 
    }); 
    $('.test-input > .select-wrapper > .select-dropdown .selectnone').on('click', function() { 
     selectNone(); 
     $('.test-input > .select-wrapper > .select-dropdown .toggle').toggle(); 
    }); 
}); 

function selectNone() { 
    $('select option:selected').not(':disabled').prop('selected', false); 
    $('.dropdown-content.multiple-select-dropdown input[type="checkbox"]:checked').not(':disabled').prop('checked', ''); 
    //$('.dropdown-content.multiple-select-dropdown input[type="checkbox"]:checked').not(':disabled').trigger('click'); 
    var values = $('.dropdown-content.multiple-select-dropdown input[type="checkbox"]:disabled').parent().text(); 
    $('input.select-dropdown').val(values); 
    console.log($('select').val()); 
}; 

function selectAll() { 
    $('select option:not(:disabled)').not(':selected').prop('selected', true); 
    $('.dropdown-content.multiple-select-dropdown input[type="checkbox"]:not(:checked)').not(':disabled').prop('checked', 'checked'); 
    //$('.dropdown-content.multiple-select-dropdown input[type="checkbox"]:not(:checked)').not(':disabled').trigger('click'); 
    var values = $('.dropdown-content.multiple-select-dropdown input[type="checkbox"]:checked').not(':disabled').parent().map(function() { 
     return $(this).text(); 
    }).get(); 
    $('input.select-dropdown').val(values.join(', ')); 
    console.log($('select').val()); 
}; 
+0

들으 다니엘,하지만 난 콤보 내부의 해당 옵션이 필요합니다. 바깥쪽에는 버튼이 없습니다. – Petr

+0

생성 된 입력 또는 드롭 다운에 동적으로 추가해야합니다. 어디에서 어떻게 표시해야합니까? 나는 당신의 필요에 맞게 그것을 바꿀 수 있습니다. –

+0

선택 안함, 첫 번째 옵션과 같습니다.) – Petr