我有一个切换禁用的功能。我使用的是一个简单的选择,代码工作得很好。我不得不用bootstrap select替换select。我现在已经生成了这个HTML。
<div class="btn-group bootstrap-select show-tick disabled form-control">
<button type="button" class="btn dropdown-toggle disabled bs-placeholder btn-info" data-toggle="dropdown" role="button" data-id="ps0" tabindex="-1" aria-disabled="true" title="Nothing selected"><span class="filter-option pull-left">Nothing selected</span> <span class="bs-caret"><span class="caret"></span></span></button>
<div class="dropdown-menu open" role="combobox">
<ul class="dropdown-menu inner" role="listbox" aria-expanded="false">
<li data-original-index="0"><a tabindex="0" class="" data-tokens="null" role="option" aria-disabled="false" aria-selected="false"><span class="text">Ali Zia</span><span class="glyphicon glyphicon-ok check-mark"></span></a></li>
<li data-original-index="1"><a tabindex="0" class="" data-tokens="null" role="option" aria-disabled="false" aria-selected="false"><span class="text">Fahim Ali</span><span class="glyphicon glyphicon-ok check-mark"></span></a></li>
<li data-original-index="2"><a tabindex="0" class="" data-tokens="null" role="option" aria-disabled="false" aria-selected="false"><span class="text">Aneeq Iftikhar</span><span class="glyphicon glyphicon-ok check-mark"></span></a></li>
</ul>
</div>
<select multiple="" id="ps0" name="ps0[]" class="form-control selectpicker" tabindex="-98" disabled="">
<option value="120">Ali Zia</option>
<option value="122">Fahim Ali</option>
<option value="123">Aneeq Iftikhar</option>
</select>
</div>
现在我有选择 ps0
的ID,但我想在select,parent div和按钮上切换禁用。
这是我目前的代码。
function toggleDisable(id) {
var isDisabled = $('#ps' + id).is(':disabled');
if (isDisabled) {
$('#ps' + id).prop('disabled', false);
// Add additional code here
} else {
$('#ps' + id).prop('disabled', true);
// Add additional code here
}
}
添加文档代码
var index3 = 0;
$("#add-doc").change(function () {
var files = $(this)[0].files;
for (var i = 0; i < files.length; i++) {
var temp_html = "";
temp_html += '<div class="full_div"><ul class="list-padding-none"><li>' + files[i].name + '<a href="javascript:void(0)" class="pull-right" onclick = "removeDoc(this , ' + index3 + ')">Remove</a></li></ul>';
temp_html += '<input type="checkbox" name="pc' + index3 + '" onclick="toggleDisable(' + index3 + ');" /> Confidential';
temp_html += '<select multiple id="ps' + index3 + '" name="ps' + index3 + '[]" class="form-control selectpicker" disabled>';
pausecontent.forEach(function (element, index) {
temp_html += '<option value="' + index + '">' + element + '</option>';
});
temp_html += '</select></div>';
//console.log(temp_html);
$('.add-doc-section').append(temp_html);
index3++;
}
$('.selectpicker').selectpicker({
style: 'btn-info',
size: 4
});
});
答案 0 :(得分:2)
根据docs,您需要刷新selectpicker
只需尝试
function toggleDisable(id) {
var $element = $('#ps' + id);
$element.prop('disabled', !$element.prop('disabled'));
$element.toggleClass('disabled'); //for bootstrap
$element.selectpicker('refresh'); //for bootstrap
}