重建选项列表时失去选择选项的焦点
Lose focus of select-option when rebuilding option list
我正在动态设置我的选择字段的选项。每次表单更改时,都会从 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 才能选择;)
$('select[name="inptCapacity"]').is(':focus');
$('form[name="formName"] :input').change(function() {
// keep the select focus always on input change
$('select[name="inptCapacity"]').focus();
});
相关文章:
- 只有当选项卡/窗口有焦点时,页面才能每5秒刷新一次
- 焦点新选项卡的文本区域引导程序 3 + 角度JS
- 如何使setInterval在浏览器选项卡处于焦点时运行
- 当选项卡不在焦点上时,JavaScript音频将不会播放
- 根据选择选项的焦点隐藏和显示
- 选项卡输出的焦点丢失事件的Javascript
- 从Web应用程序发送地理位置,即使选项卡不在焦点上
- 获取页面事件,选项卡关闭,失去焦点
- 将焦点设置在带有错误消息的第一个输入元素上,并将包含它的 TabStrip 选项卡设置为活动状态
- 将焦点更改为选项卡 JavaScript imacros
- 如何在 HTML 选择元素中跟踪焦点(从一个选项到另一个选项)
- 选择任何一个单选按钮后,单选按钮选项卡焦点无法正常工作
- JavaScript:当“浏览器”选项卡失去用户焦点时发生错误
- 更改浏览器选项卡会不期望触发焦点事件,尤其是在谷歌浏览器中
- 如果用户不更改该选项,请将焦点移动到下一个字段
- 我可以使用 JavaScript 或任何其他技术根据用户输入将焦点切换到窗口或选项卡上吗?
- 是否可以在选择之前找出哪个选择选项在IE中具有焦点
- 当选项卡未处于焦点中时暂停 Javascript 计时器
- jQuery UI 自动完成 - 在焦点输出时未选择匹配的选项
- 将焦点放在同一个选项卡上