javascript - 重建选项列表时失去选择选项的焦点

标签 javascript jquery html

我正在动态设置选择字段的选项。每次表单更改时,都会从 Servlet 接收新数据,并覆盖当前选择。

这里的问题是,如果我选择一个选项,表单会加载 javascript 函数,并且我会失去选择/焦点。

var capacityOptionsAsString = "";
for(var i = 0; i < capacityArray.length; i++) {
  capacityOptionsAsString += "<option value='" + capacityArray[i] + "'>" + capacityArray[i] + "</option>";
  console.log('capacity option: ' + capacityOptionsAsString);
}
$("select[name='inptCapacity']").find('option').remove().end().append($(capacityOptionsAsString));

知道如何保留选择吗?

<小时/>

编辑:也许我还不够清楚。我想保留选择。所以它必须被验证,如果该选项被选择,如果是,我们必须再次选择它。

最佳答案

只需再次设置焦点即可:

$("select[name='inptCapacity']").focus();

更新

获取选定的选项:

var selected_value = $("select[name='inptCapacity'] option:selected").val()

进行更改

$("select[name='inptCapacity']").find('option').remove().end().append($(capacityOptionsAsString));

再次选择:

$('select[name='inptCapacity'] option[value="' + selected_value + "]').attr('selected', 'selected');

您完全需要一个 ID 来进行选择;)

关于javascript - 重建选项列表时失去选择选项的焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10294937/

相关文章:

javascript - 使用可编辑的 div 高度更改来添加和删除其他 DOM 元素的类

javascript - 使用 MVC 和 JSON 的 jquery FullCalendar

javascript - 正则表达式验证国际电话号码

javascript - bootstrap-datepicker 中的 beforeShowDay 标题不起作用

javascript - HTML5 视频无法在 Chrome 中加载,但在打开开发者控制台时可以工作

javascript - Datepicker 将今天设置为默认日期

javascript - jQuery sibling 不工作?

javascript window.open 并添加参数

jquery 使用 twitter-bootstrap 工具提示删除焦点问题

javascript - JQuery 1.6.1 和复选框属性