Jquery 在删除第一个下拉列表中的选定值时复制下拉列表

Jquery 在删除第一个下拉列表中的选定值时复制下拉列表,jquery,drop-down-menu,Jquery,Drop Down Menu,我试图用jquery复制一个下拉列表。基本上,我想当用户点击一个按钮时,它会运行这个,并删除他们在上一个下拉框中选择的值。我最初从mySQL获取我的值,然后mySQL将它们输出到下拉列表中。当我运行这个程序时,唯一得到的是我的第一个选项,即在我的第二个下拉列表中选择一个兴趣。有人知道为什么这不起作用吗 此外,这些文件以数组形式提交,因此名称上有方括号。我不确定这是否是造成这种情况的原因,但欢迎任何人就此提供反馈 Interests<br /> <select name="sel

我试图用jquery复制一个下拉列表。基本上,我想当用户点击一个按钮时,它会运行这个,并删除他们在上一个下拉框中选择的值。我最初从mySQL获取我的值,然后mySQL将它们输出到下拉列表中。当我运行这个程序时,唯一得到的是我的第一个选项,即在我的第二个下拉列表中选择一个兴趣。有人知道为什么这不起作用吗

此外,这些文件以数组形式提交,因此名称上有方括号。我不确定这是否是造成这种情况的原因,但欢迎任何人就此提供反馈

Interests<br />
<select name="selectedint[]" id="selectint">
<option selected value="">Select an Interest</option>
<?
for ($i=0; $i<$setintcount; $i++)
{
      if($setinterests[$i] == $interests[$i])
      {
          echo "<option selected value='$setinterests[$i]'>$setinterests[$i]</option>";
      }
      else
      {
          echo "<option value='$setinterests[$i]'>$setinterests[$i]</option>";
      }
}
?>
</select>

<select name="selectedint2[]" id="select">
<option selected value="">Select an Interest</option>
<script>
$('#selectint option').each(function()
{

    $(document).ready(function () {
        if("#selectedint".val() != this)
        {
        document.write(this);
        }
    }
});
</script>
</select>
兴趣
选择兴趣
要复制下拉列表并清除所选内容,可以使用
clone
方法,使用
removeAttr

var newDD = $("#yourDD").clone();
$("option", newDD).removeAttr("selected");

看看这个

我第一眼看到的是,在$('#selectint选项')中有$(document).ready。每个(function()。这可能导致它甚至无法处理。 文档就绪应该在$('#selectint option')之外。每个(function())都应该在加载文档时进行处理

2,您的if(#selectedint).val()!=this)无效。 3,您正在正确比较所选的值。在比较“this”的值时,您需要使用$(this).val()

您的新代码应该如下所示:

$(document).ready(function(){
    var $selected = $('#selectedint').val();

    $('#selectedint option').each(function()
    {
        if($selected != $(this).val())
        {
            document.write(this);
        }
    });
});
我注意到的另一件事是,即使用户在顶部下拉菜单中选择了一个选项,底部下拉菜单中也不会发生任何事情。 如果希望在顶部下拉菜单具有选定值而不是$(文档)时,底部下拉菜单仅填充选项

$('#selectedint').change(function(){

因此,当selectedint下拉菜单更改值时,它将填充数据。

您可以将此逻辑添加到jquery:)我希望这有助于您使用它将
onchange=“check_selection(this)”
添加到下拉列表中

<script type="text/javascript">


 function check_selection(elt){
    var index = elt.selectedIndex;    
    if (index == 0) {return true;} // always legal
    var elems = elt.form.elements;
    for (var i=0;i<elems.length;i++) {
    if (elems[i] == elt) {continue;} // don't test self
    if ( index == elems[i].selectedIndex) { // same selectedIndex
    alert("Seleccion duplicada por favor elija otro valor.");
    elt.selectedIndex = 0;
    elt.focus(0);
    return false;
    }
    }
    return true;
    }
</script>

功能检查和选择(elt){
var指数=elt.selectedIndex;
如果(索引==0){return true;}//始终合法
var elems=elt.form.elements;
对于(var i=0;i