Не могу скопировать Выберите значение - PullRequest
0 голосов
/ 16 марта 2020

Я пытаюсь скопировать значение из одного выбора в другой. Один имеет значение «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 ]

0 голосов
/ 16 марта 2020

Попробуйте это

<!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>
0 голосов
/ 16 марта 2020

Попробуйте,

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

Javascript: Как скопировать все параметры из одного элемента выбора в другой?

    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>
...