【发布时间】:2015-10-08 22:26:22
【问题描述】:
我有一个由选择列表和输入字段组成的表单。如果输入框有值,我希望选择列表值被覆盖,无论选择什么。
看起来像
myMap={"asdf":1,"qwerty":2}
function checkInput(){
desiredSel=$('#input_id').val();
if(desiredSel){
alert(desiredSel);
if(myMap[desiredSel]){
alert(myMap[desiredSel]);
//This is where I'm lost
}
}
}
<form onSubmit=checkInput()>
<select name='myselect' id='select_id'>
<option value=1>First</option>
<option value=2>second</option>
</select>
<input name='myinput' id='input_id' />
</form>
在我的评论中,我不清楚如何覆盖为 $(#select_id) 发送的值
编辑澄清:
如果 myinput 为空,则 myselect 将提交实际选择的任何选项
如果 myinput 有一个值并且它与 myMap 中的一个键匹配,则 myselect 将与 myMap[myinput] 值一起提交,就好像它是在该选项上实际选择的一样(不管实际选择了什么)。
【问题讨论】:
-
您的目标有点令人困惑,
select和文本输入。我不确定文本输入与任何事情有什么关系。你能详细说明一下吗?您是否希望将select元素的值映射到myMap中的属性?
标签: javascript jquery