【问题标题】:Override select list form value with jquery用 jquery 覆盖选择列表表单值
【发布时间】: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


【解决方案1】:

应该是你要找的东西

$('#select_id').val(myMap[desiredSel]);

.val() 可以返回或设置一个值,但在 https://jquery.com/ 中指定

执行验证功能后的更多信息,您可以更改所有值并通过return true; 提交或通过return false; 阻止提交

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-29
    • 1970-01-01
    • 1970-01-01
    • 2018-09-04
    相关资源
    最近更新 更多