我在 jQuery 中有一个函数,可以在选择框中添加文本字段中的内容。当我单击一个按钮时调用该函数:
addToList = function(textField, selectList)
{
var val = $('#'+textField).val();
var select = $('#'+selectList);
//If element does not exist already...
if (select.find('option[value="' + val + '"]').length === 0 && val!="")
{
//Add new element to the list
$('<option>', {
value: val,
text: val
}).appendTo(select);
//Clear text field
$('#'+textField).val("");
//Scroll down multi select and select automatically the added option
//TODO: Scrolls only to selected element
var lastOption = select.find("option[value="+val+"]");
lastOption.attr("selected", true);
}
else
{
if (val!="")
{
alert("\""+val+"\" is already in the list.");
}
}
};
我想要的是,每次我向列表中添加一个元素时,列表都会向下滚动到其底部(这意味着列表的最后一个元素将在其最后一行可见)并且添加的元素将被自动选择。
我在 SO 上找到了一些代码来向下滚动到选定的元素,但是我发现没有代码可以简单地滚动到列表的末尾,而不管选择了什么。我需要这个,因为如果我选择第一个元素,这段代码就不会滚动!