Javascript 重建选项列表时失去选择选项的焦点
我正在动态设置选择字段的选项。每次表单更改时,都会从Servlet接收新数据,并覆盖当前选择 这里的问题是,如果我选择了一个选项,表单将加载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] + "
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();
});