【问题标题】:Change drop-down list value based on another drop-down list value根据另一个下拉列表值更改下拉列表值
【发布时间】:2016-11-26 22:41:04
【问题描述】:

我一直在尝试根据另一个下拉列表的值更改下拉列表的值(以及 UI),如下所示,但没有成功。有什么建议吗?

    $("[name=firstlist]").change(function(){
        if ( $("[name=firstlist]").val() == '2' ) {
            $("#id-secondlist").val("4");
        }
    });

谢谢。

【问题讨论】:

标签: javascript jquery html


【解决方案1】:

您是否真的在代码中使用了所有这些反斜杠?如果您使用 console.log,您会看到错误消息。

无论如何,自从 jquery v?.?您需要将属性选择器值放在引号内。

$("[name='firstlist']").change(function() {
console.log(this.value);
  if ($("[name='firstlist']").val() == '2') {
    $("#id-secondlist").val("4");
  }
});

【讨论】:

  • 属性选择器不需要用引号引起来。
  • 注意我说的是属性选择器values。没错,它们不是必需的,但只有under certain conditions,尽管建议使用它们。至于我说的jquery,这实际上是一个必须引用的值,但是jquery upto v2.1.3支持它不带引号。更改为 v.2.2.0,它会给你一个错误。 Demo
  • 不是这样。我需要在特别加载后更改选择值。你知道如何?谢谢
  • 我不明白您所说的“特别是在加载之后”是什么意思。你是在使用 ajax 加载一个选择元素还是什么的?
  • 并像 techbreak 所说的那样发布你的 html,否则这只是猜测
【解决方案2】:

您的代码中缺少元素本身,

试试这个,

 $("select[name=firstlist]").change(function(){
        if ( $(this).val() == 2 ) {
            $("select#id-secondlist").val('4');
        }
    });

【讨论】:

  • 按照我之前的要求添加您的 html
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多