重建选项列表时失去select-option的焦点

时间:2012-04-24 09:09:46

标签: 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));

知道如何保留选择吗?


编辑:也许我不够清楚。我想继续选择。所以必须进行验证,如果选择了该选项,如果是,我们必须再次选择它。

2 个答案:

答案 0 :(得分:0)

再次设置焦点:

$("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用于你的选择;)

答案 1 :(得分:0)

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

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

   // keep the select focus always on input change

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

});