【问题标题】:How to change fixed selected box value dynamically with jQuery如何使用 jQuery 动态更改固定选定框的值
【发布时间】:2014-05-28 16:37:55
【问题描述】:

我有 3 个选择框。每个选择框的值都必须动态变化。

我想根据第一个选择框更改第二个和第三个选择框的值。 用 jQuery 简单的方法修复。

Commerce->English
Arts->Gujarati
science->French

Commerce->IP    
Arts->Computer
Science->java

请在此处查看 html http://jsfiddle.net/j2pCJ/1/

这是 2 盒样品,我想要 3 盒 http://jsfiddle.net/sabithpocker/fRuhn/

JQUERY 代码在这里

$("#select1").change(function() { 
if($(this).data('options') == undefined){
    /*Taking an array of all options-2 and kind of embedding it on the select1*/
    $(this).data('options',$('#select2 option').clone());
    } 
var id = $(this).val();
var options = $(this).data('options').filter('[value=' + id + ']');
$('#select2').html(options);
});

【问题讨论】:

  • 依赖于第一个选择框它是如何依赖的?
  • 表示动态变化,如果我从第一个选择框第二个选择框和第三个选择框的值必须动态变化。
  • 您忘记发布您尝试过但不起作用的 JavaScript。
  • @j08691 - 我不这么认为。这就是“Stack Overflow 众包”的用武之地。=/
  • @vivek - 从这里开始api.jquery.com

标签: javascript jquery html jquery-ui


【解决方案1】:

我不敢相信你想要的是这样的简单:

var secondSelect = $("select[name='2ndbox']");
var thirdSelect = $("select[name='3rdbox']");
var secondOptions = secondSelect.children('option');
var thirdOptions = thirdSelect.children('option');

$("select[name='1stbox']").change(function(){     
  var selectedIndex = this.selectedIndex;
  secondOptions.filter(function(i){ return i == selectedIndex})
               .appendTo(secondSelect.empty());
  thirdOptions.filter(function(i){ return i == selectedIndex})
              .appendTo(thirdSelect.empty());
}).change();

Demo.

请注意,使用filter 只是实现它的一般方法,在您的特定情况下,看起来我们可以像这样使用.eq() 方法:

secondOptions.eq(selectedIndex).appendTo(secondSelect.empty());

【讨论】:

  • 注意如果我仍然误解你的问题,请留下一些评论,我会解决它。
  • 非常非常感谢您抽出宝贵时间,但我只想显示像 jsfiddle.net/sabithpocker/fRuhn 这样的相关值,如果用户选择商务,则仅显示英文和 IP
  • @vivek 你的意思是english 应该显示在第二个选择上,IP 应该显示在第三个选择上,这两个选择(第二个和第三个)不应该有任何其他选项选择?这确实很奇怪,因为这不是选择元素的目的(它应该有多个选项)。
  • 是的,我想更改两个选择框的值,例如用户从第一个框中选择 Commerce,然后第二个框将仅显示英文,第三个将仅显示 IP Commerce->English Commerce->IP
  • 你救了我的命,这很好 :) 工作得很好 :) 谢谢你的回答和宝贵的时间,谢谢你的心
猜你喜欢
  • 1970-01-01
  • 2012-04-12
  • 1970-01-01
  • 2011-05-04
  • 2012-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多