我正在动态设置我的选择字段的选项。每次表单更改时,都会从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));
知道如何保留选择吗?
编辑:也许我不够清楚。我想继续选择。所以必须进行验证,如果选择了该选项,如果是,我们必须再次选择它。
答案 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();
});