javascript - jQuery 根据其他下拉列表的值选择下拉值

标签 javascript jquery

我正在努力了解 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);    
});

http://jsfiddle.net/GpBDY/16/

关于javascript - jQuery 根据其他下拉列表的值选择下拉值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19633393/

相关文章:

javascript - 如何在 div 上添加 jQuery 框

javascript - Cordova (音隙): drag image inside canvas working fine in browser but not in mobile

javascript - 从不相关的 div 中查找属性 .on ("click")

javascript - jquery-ui.widget 中的 "base"函数未定义?

javascript - HTML CSS, Bootstrap 响应式 DIV 高度

jquery - 制作复合选择器

javascript - 如何使用 $or 进行 MongoDB 查询

javascript - JQuery 验证器如何删除错误消息并添加边框颜色

javascript - 迭代数组并填充 json 数据

javascript - 如何使用 Ajax 通过复选框将对象移动到另一个范围?