如何在不重新填充列表的情况下维护下拉列表的当前信息
How can I maintain a a dropdown's current information without repopulating the list?
目前,我有一个下拉列表,其中填充了SQL数据库中的团队名称:
$(".show_hide2").click(function () {
("#team").find("tr:gt(0)").remove();
$(".slidingDiv2").slideToggle();
teams = $.parseJSON(getTeams());
for (i = 0; i < teams.length; i++) {
var team = getTeam(teams[i]);
updateTeamBoard(team);
populateTeamSelection(team);
}
}
下面是用于填充下拉列表的代码。
.JS:
function populateTeamSelection(team) {
var team = $.parseJSON(team);
$("#teamSelection").find("#tr:gt(0)").remove();
$("<option value='" + team.teamID + "'>" + team.teamName + "</option>").appendTo("#teamSelection");
}
.HTML:
<div class="slidingDiv2">
<select id="teamSelection">
<option id="default" value="0">Select A Team</option>
</select>
<input type="button" id="teamViewer" value="Team Viewer"></input>
</div>
问题是,每次我单击显示/隐藏按钮时,它都会保留列表中的当前信息,然后将相同的信息添加到列表中。我正在使用 AJAX 动态生成表和列表,但由于某种原因我无法弄清楚这一点,我有一种感觉它相当简单。任何帮助将不胜感激。
每次单击时,都会调用populateTeamSelection()
。每次调用populateTeamSelection()
时,它都会将某些内容附加到列表中。快速解决方法是在添加任何项目之前从列表中删除所有项目。
您可以使用$('select').children().remove()
在for
循环之前删除所有option
项目。
$(function ($)
{
$populateTeamSelection = function(team)
{
$result = $.parseJSON(team,function(call){$handle = call;});
$result.success(function(){ $data = $handle; });
$result.error(function()
{
//Do something or nothing on error
});
$result.complete(function()
{
//Clear all current options first
$('#teamSelection').html('');
//Populate with new data
$.each($data,function(lable,value)
{
$("#teamSelection").append($("<option></option>").attr("value",value['teamID']).text(value['teamName']));
});
});
};
}(jQuery));
$(document).ready(function()
{
$('.show_hide2').click(function()
{
$(".slidingDiv2").slideToggle();
$populateTeamSelection(team);
});
});
相关文章:
- 默认情况下折叠和展开嵌套列表
- Netsuite Suitelet:在不达到治理限制的情况下,遍历事务行项目的列表加载和提交记录
- 在不向上滚动的情况下向列表框中添加项目
- 在没有大量回调函数的情况下在列表元素上循环播放同一动画
- 是否可以在不使用jQuery的情况下在下拉列表中选择选项
- 在不涉及控制器的情况下对MVC视图列表中的项进行排序
- 有没有一种方法可以在没有jQuery的情况下获得JavaScript中当前添加到后台的事件列表
- 在我的情况下,如何在角度中对对象列表进行排序
- 如何在禁用 JavaScript 的情况下维护下拉列表的持久性状态 - PHP
- 如何在不重新填充列表的情况下维护下拉列表的当前信息
- 默认情况下,在 angularjs 中选择下拉列表中的最后一个位置显示占位符
- 如何在具有某些条件的情况下从列表中删除重复项,下划线.js
- 默认情况下,从数据列表中选择第一条记录
- 如何在没有ng重复的情况下制作模板,并使用角度拖放列表将数据传递给$scope
- 如何在不使用内联 javascript 的情况下修改选择下拉列表的默认值
- 挖空:在不清除视图模型中的值的情况下更改选择列表中的选项
- 我可以在不通过下拉列表的情况下让 jQuery 自动完成以匹配输入吗?
- AngularUI:在应用过滤器的情况下正确更新两个列表之间的模型
- 在不使用按钮的情况下显示列表,带有挖空功能
- 如何在不获取所有项目的情况下获取特定内容类型的列表项的计数