我正在努力了解 jQuery,但我很难弄清楚普通数组与 jQuery 数组,以及 DOM 元素与 jQuery 元素。
这是我尝试做的一个例子。这个例子真的很简单,但我需要一些帮助 :-p 所以我的要求会很冗长,希望答案反过来是描述性的。
我有两个 <select>
下拉菜单,带有 ID #version
和 #target
.
当我点击一个按钮时,我想在 #target
中选择following 选项与 #version
中的 last-but-one 值同名. (该项目将存在)
示例:#version
有选项:a、b、c、x。 #target
有选项 a,b,c,d,h,m。
我点击按钮。应该发生的是:
- 阅读
#version
中的最后一个选项: "c" - 在
#target
中找到同名选项: 第 3 个(即索引为 2) - 在
#target
中设置所选值到“c”之后的那个,即“d”(第 4 个,索引 3)
Here's a fiddle with the example.
对于第一步,我想我明白了:
var latestVersion = $("#version option").get(-2).text;
//旁注:为什么 .text
工作但不.val()
?哦,.get()
返回一个 DOM 元素
//那么如何返回到 jQuery 元素?
//$($("#version option").get(-2)).val()
工作但看起来很丑
对于第 2 步,我试过这个:
var target = $("#target option:contains(latestVersion)");
但它不起作用。一定有比手动迭代所有值以搜索正确值更好的方法。
第 3 步:??。
最佳答案
按照您的想法使用第 1 步尝试以下操作:
$('#button').click(function(){
var latestVersion = $("#version option").get(-2).text;
//index of LAST-BUT-ONE
var target=$("#target option[value="+latestVersion+"]").index();
//Setting next index value
$("#target").prop("selectedIndex",target + 1);
});
关于javascript - jQuery 根据其他下拉列表的值选择下拉值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19633393/