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

Javascript 重建选项列表时失去选择选项的焦点,javascript,jquery,html,Javascript,Jquery,Html,我正在动态设置选择字段的选项。每次表单更改时,都会从Servlet接收新数据,并覆盖当前选择 这里的问题是,如果我选择了一个选项,表单将加载javascript函数,我将失去选择/焦点 var capacityOptionsAsString = ""; for(var i = 0; i < capacityArray.length; i++) { capacityOptionsAsString += "<option value='" + capacityArray[i] + "

我正在动态设置选择字段的选项。每次表单更改时,都会从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@dooonot$..…is':focus'抱歉,伙计们,我们似乎把焦点和选择混合在一起了。我需要知道选择了哪个选项。没问题。顺便说一下@doonot.com:字体很小,但网页很好!我喜欢这个设计。你说的“表单加载javascript函数”是什么意思?$“表单[name=formName]:输入”。changefunction{}
$('select[name="inptCapacity"]').is(':focus');

$('form[name="formName"] :input').change(function() {

   // keep the select focus always on input change

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

});