【问题标题】:Remove previous drop down selection from future drop down options从未来的下拉选项中删除以前的下拉选择
【发布时间】:2014-05-26 04:19:50
【问题描述】:

我有一个模式,它为您提供插入行的选项。该行有一个下拉菜单,其中包含大约 10 个值可供选择。当我单击插入按钮插入另一行时,我需要生成的新下拉列表在选项中没有前一行的选定值。基本上它就像一堆级联的下拉菜单。新的下拉菜单将没有先前下拉菜单的选定选项。

基本上我的问题是我如何/应该如何使用 JavaScript/JQuery 来实现它?

【问题讨论】:

  • 您应该始终提供一些代码来解释您尝试了什么或复制了这种情况
  • 没有可显示的代码,我需要知道如何处理这个问题。
  • 这个问题太笼统了。首先,你必须尝试一些东西。 SO 不是论坛,你不能指望 SO 程序员为你做所有事情。编写一些代码,SO 将帮助您解决问题或错误。如果您需要意见或建议,请在聊天中提问chat.stackoverflow.com/rooms/23598/jquery
  • 想知道答案是否有帮助..!

标签: javascript jquery html


【解决方案1】:

很高兴看到您的代码给出一个好的答案,但您可以删除这样的选项...

$("#yourdropdownlistid option[value='thevalueofthetargetoption']").remove();

您可以尝试将所选项目的选项值更改为“删除”更改,然后您可以定位所有“删除”选项值。

$("#yourdropdownlistid option[value='thevalueofthetargetoption']").each(function() {
    $(this).remove();
});

你可以看到它在这里运行... http://jsfiddle.net/pUeue/1420/

【讨论】:

    【解决方案2】:

    假设您有以下 HTML:

    <div id='container'>
     <button>add</button>
     <div class='row'>
        <select>
            <option>hi</option>
            <option>hello</option>
            <option>how</option>
            <option>are</option>
            <option>you</option>
        </select>
     </div>
    </div>
    

    你可以这样做:

    $('button').click(function () {
     var clone= $('.row').last().clone();
     clone.find('option:selected').remove();
     if($(clone).find('option').length>0)
      $('#container').append(clone);
    });
    

    检查这个JSFiddle

    【讨论】:

      猜你喜欢
      • 2014-08-28
      • 2018-09-17
      • 2012-06-11
      • 2020-01-10
      • 2016-07-14
      • 2012-01-29
      • 2017-01-11
      • 1970-01-01
      相关资源
      最近更新 更多