【发布时间】:2021-02-27 09:55:59
【问题描述】:
我有一个 html 页面,其中包含两个选择框。两个框都包含相同的选项。每次在一个框中选择一个选项时,应在第二个框中禁用它。
我的 html 文件中的第一个选择框:
<div class="select_box">
<select id="unallowedInput" onchange="disableOption()" class="select2 col-lg-12" multiple title="Auswählen" data-max-options="3" data-max-options-text="Es dürfen nur drei Elemente ausgewählt werden!"></select>
</div>
现在我的 js 文件包含从 api 获取选项值的方法和禁用选项的方法:
function addToSelect(){
$(document).ready(function(){
$('.select2').selectpicker({
liveSearch: true
});
})
var input1 = document.getElementById('unallowedInput');
var geturlW = 'myurl';
var wirk = req('GET', geturlW);
var length = Object.keys(wirk).length;
for(i = 0; i < length; i++){
var opt1 = document.createElement('option');
opt1.innerHTML = wirk[i].name;
opt1.value = wirk[i].name;
opt1.id = wirk[i].id;
eingabe1.appendChild(opt1);
}
}
function disableOption(){
document.getElementById("elem1").disabled = true;
console.log(document.getElementById("elem1"));
}
我尝试通过禁用第一个框中的第一个元素 onchange 来开始简单:
document.getElementById("elem1").disabled = true;
它成功地改变了我的选择:
<option value="Option1" id="elem1">Option1</option>
到:
<option value="Option1" id="elem1" disabled="">Option1</option>
问题是,该元素仍处于启用状态。 我使用时也是如此:
document.getElementById("elem1").setAttribute("disabled", "disabled");
由于我还是一个初学者,对 JQuery 还不是很熟悉,如果答案只包含普通的 JS,我将不胜感激:)
【问题讨论】:
-
对我来说看起来不错。你能告诉我们整个代码吗?点击事件功能等等,以便我们检查是否还有其他问题
标签: javascript html dropdown select-options