gpt4 book ai didi

javascript - 使用 jquery 或 javascript 动态更改使用 Bootstrap 的选择选项?

转载 作者:太空狗 更新时间:2023-10-29 14:41:22 24 4
gpt4 key购买 nike

我正在尝试动态更改使用 bootstrap 中的 selectpicker 的选择选项。它似乎不适用于 Bootstrap ,但没有它,它工作得很好。
这是我的代码:

HTML

            <select name="proj" id="project" class="selectBox"  style="width:270px" data-size="5" onchange="tasklist()">
<option>Select Project...</option>
</select>
<select name="tsk" class="selectBox" id="task" style="width:270px" data-size="5">
<option>Select Task...</option>
</select>

Javascript

$(document).ready(function() {
$('.selectBox').selectpicker();
});

if (window.XMLHttpRequest)
xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET","projectList.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;

var project=xmlDoc.getElementsByTagName("project");
for (var i=0;i<project.length;i++)
{
$('#project').append($('<option>', {
value: i+"|" + project[i].getElementsByTagName("title")[0].childNodes[0].nodeValue,
text:project[i].getElementsByTagName("title")[0].childNodes[0].nodeValue
}));
}

function tasklist()
{
$('#task').empty();
if (window.XMLHttpRequest)
xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET","projectList.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
var project=xmlDoc.getElementsByTagName("project");
var x=document.getElementById("project").options.selectedIndex;
for(var j=0;j<project[x-1].getElementsByTagName("task").length;j++)
{
$('#task').append($('<option>', {
value: j+"|" + project[x-1].getElementsByTagName("task")[j].childNodes[0].nodeValue,
text:project[x].getElementsByTagName("task")[j].childNodes[0].nodeValue
}));

}
}

XML

<projectlist>
<project>
<title>Project 1</title>
<task>task 1</task>
<task>task 2</task>
<task>task 3</task>
</project>
<project>
<title>Project 2</title>
<task>task 4</task>
<task>task 5</task>
</project>
<project>
<title>Project 3</title>
<task>task 6</task>
<task>task 7</task>
</project>
</projectlist>

当我从项目中选择一个选项时,它应该为 xml 文件中定义的任务加载一组选项。因此,例如,如果我单击项目 2,它应该在任务选项中加载任务 4 和任务 5。如果我删除选择器,这确实有效,但有没有办法可以保留选择器并同时执行此操作?

感谢您的帮助。

最佳答案

来自bootstrap-select website :

要使用 JavaScript 以编程方式更新选择,首先操作选择,然后使用刷新方法更新 UI 以匹配新状态。在删除或添加选项时,或者在通过 JavaScript 禁用/启用选择时,这是必需的。

   $('.selectpicker').selectpicker('refresh');

关于javascript - 使用 jquery 或 javascript 动态更改使用 Bootstrap 的选择选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17298258/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com