我有一个选择控件,在一个javascript变量中我有一个文本字符串.
使用jQuery我想将select控件的selected元素设置为具有我所拥有的文本描述的项目(而不是我没有的值).
我知道按值设置它是非常微不足道的.例如
$("#my-select").val(myVal);
Run Code Online (Sandbox Code Playgroud)
但是通过文字描述我有点难过.我想必须有一种从文本描述中获取价值的方法,但是我的大脑在星期五下午也可以解决它.
我怎样才能使用jQuery将已选择项目的"下一个"项设置为"已选中".
例如,如果我有:
<select>
<option value="1" >Number 1</option>
<option value="2" selected="selected">Number 2</option>
<option value="3" >Number 3</option>
<option value="4" >Number 4</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我们可以看到选择了"Number 2",并且使用jQuery,我想将"Number 3"设置为选中,并从"Number 2"中删除所选的"属性".我假设我需要使用下一个选择器,但我不太确定如何实现.
我有一个HTML select元素:
<select id='poetslist'>
<option value="shakespeare">William Shakespeare</option>
<option value="milton">John Milton</option>
<option value="keats">John Keats</option>
<option value="wordsworth">William Wordsworth</option>
<option value="larkin">Phillip Larkin</option>
</select>
Run Code Online (Sandbox Code Playgroud)
在Chrome中,当页面加载时,William Shakespeare
会选择该选项.如果用户开始输入"Phil",则列表会集中精力Phillip Larkin
.熟悉的行为.
我想做的事情(最好使用jQuery)也允许用户输入诗人的首字母并让相关选项成为焦点.
因此,如果您键入JK
,则该John Keats
选项应该成为焦点.JM
和约翰米尔顿等
我甚至不知道HTML select元素是如何工作的,不管它在不同的浏览器中是否有所不同等等 - 而且似乎很难为此找到好的文档.
谁能想出一个聪明的方法来在jQuery中做到这一点?
我有一些HTML选择:
<select class="form-control, dropdown" id="delperffrom" name="delperffrom">
. . .
<select class="form-control, dropdown" id="delperfto" name="delperfto">
. . .
Run Code Online (Sandbox Code Playgroud)
我想将它们初始化为"无价值",所以有这个javascript,它有效:
document.getElementById("delperffrom").selectedIndex = -1;
Run Code Online (Sandbox Code Playgroud)
..和这个jQuery,它没有:
$("#delperfto").selectedIndex = -1;
Run Code Online (Sandbox Code Playgroud)
为什么jQuery不起作用?