【问题标题】:Can't copy Select value无法复制选择值
【发布时间】:2020-06-27 10:36:51
【问题描述】:

我试图将值从一个选择复制到另一个。一个具有值“A”,另一个具有值“B”。这是我为实现这一目标所做的工作:

$('#selectTipoInvervencion1').val($('#selectTipoIntervencion0').val());

但是,我的价值没有被复制。奇怪的是,我得到了正确的元素,因为在执行这行代码之后我可以做到:

console.log($('#selectTipoIntervencion0').val());
console.log($('#selectTipoIntervencion1').val());

输出是:

A
B

这是我所期望的,因为该值似乎没有在视图中被复制,但显然不是我想要的。我该如何解决这个问题?

更新:HTML

<select id="selectTipoIntervencion0" name="forms[0].model.intervenciones[0].tipo" class="selectTiposIntervencion">
    <option name="A_NAME" value="A" selected="selected">A</option>
    <option name="B_NAME" value="B">B</option>
    ...
</select>

<select id="selectTipoIntervencion1" name="forms[1].model.intervenciones[1].tipo" class="selectTiposIntervencion">
    <option name="A_NAME" value="A" selected="selected">A</option>
    <option name="B_NAME" value="B">B</option>
    ...
</select>

【问题讨论】:

  • 发布 2 个选择标签的 html
  • 您正在使用哪个事件...或详细说明...
  • 用 HTML 更新
  • 你不想复制值,你想选择当前值——那是不同的;试试这个链接:stackoverflow.com/questions/1573930/…
  • 我刚刚尝试了您发布的链接中的答案,不幸的是仍然没有运气。我尝试用 / 不带引号输入值,所以它也不是

标签: jquery select


【解决方案1】:

试试这个

<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    </head>
    <body>
        <select id="selectTipoIntervencion0" name="forms[0].model.intervenciones[0].tipo" class="selectTiposIntervencion">
            <option name="B_NAME" value="B">B</option>
            <option name="A_NAME" value="A">A</option>
        </select>

        <select id="selectTipoIntervencion1" name="forms[1].model.intervenciones[1].tipo" class="selectTiposIntervencion">
            <option name="A_NAME" value="A">A</option>
            <option name="B_NAME" value="B">B</option>
            <option name="C_NAME" value="C">C</option>
            <option name="D_NAME" value="D">D</option>
            <option name="E_NAME" value="E" selected="selected">E</option>
            <option name="F_NAME" value="F">F</option>
            <option name="G_NAME" value="G">G</option>
            <option name="H_NAME" value="H">H</option>
        </select>
        <button type="button" id="cp">Copy</button>

        <script type="text/javascript">
            $("#cp").on('click', (evt) => {
                let a = $("#selectTipoIntervencion1").children("option:selected");
                $("#selectTipoIntervencion0").html(a);
            })
        </script>
    </body>
</html>

【讨论】:

  • 还是什么都没有。此外,我的目标是不要在第一个更改时更改第二个选择,而只是在创建时更改。无论如何感谢您的回答
  • 嘿,我改了答案!请检查
  • 好的,现在至少选项正在改变!必须稍微修改一下脚本,但这可能会奏效,谢谢!当我更新脚本时会报告
【解决方案2】:

试试这个,

$('#selectTipoInvervencion0 option').clone().appendTo('#selectTipoIntervencion1');

Javascript: How to copy all options from one select element to another?

    function copyOption() {
       $('#selectTipoIntervencion1 option').clone().appendTo('#selectTipoIntervencion0');
     }
    
    
    
        <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <select id="selectTipoIntervencion0" name="forms[0].model.intervenciones[0].tipo" class="selectTiposIntervencion">
        <option name="A_NAME" value="A" selected="selected">A</option>
        <option name="B_NAME" value="B">B</option>          
     </select>
            
   <select id="selectTipoIntervencion1" name="forms[1].model.intervenciones[1].tipo" class="selectTiposIntervencion">
        <option name="A_NAME" value="A" selected="selected">A1</option>
        <option name="B_NAME" value="B">B2</option>
   </select>
            <button onclick="copyOption()">Copy</button>

【讨论】:

  • 顺便说一句,有趣的是,我的整个表单已经是上一个表单的副本。我通过克隆最后一个表单来创建这个新表单。所有值都被正确复制,除了选择
  • 你的意思是选择的值没有正确克隆,请检查这里stackoverflow.com/questions/742810/…
猜你喜欢
  • 2016-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-05
  • 2016-03-25
  • 2019-02-14
  • 1970-01-01
  • 2017-11-10
相关资源
最近更新 更多