总而言之,select的值为null(未选择任何选项)并且已存在一些选项。但是,在通过jquery和vue分别添加新选项后,它会更改为第一个选项的值,为什么? (我们在chrome上测试了这个案例)
1
<select>
<option val="a">a</option>
<option val="b">b</option>
<select>
此时:
$("select").val() == null
$("select").append("<option value='hi'>hi</option>")
此时:
$("select").val() == "a"
答案 0 :(得分:0)
默认情况下,HTML更喜欢选择一个选项。您可能需要为selectedIndex
手动设置-1
为select
,并在向select中添加元素后覆盖该selectedIndex
。您有两种选择之一:
var originalSelectedIndex = $("select").prop("selectedIndex"); $("select").append("<option value='...'>...</option>"); $("select").prop("selectedIndex", originalSelectedIndex);
并在追加后恢复。与<option label=" "></option>
。local function mydialog()
--omitted
local wb_responses=activeobj() --wb_responses points to the current activeobj(), say Obj1
UI.m_txt=sys.rangetextcontrol(UI.sbSizerInput:GetStaticBox() ,wb_responses) --wb_responses is passed by reference
--Selection event happened
print(wb_responses) --Still prints Obj1 instead of Obj2
end
,在提交时,它实质上会向您的服务器提交一个空值。