ввод с разделенными параметрами (php, js, html) - PullRequest
0 голосов
/ 30 апреля 2020

Приветствую всех!

Я хотел бы попросить вас всех о моей идее здесь. И ваше мнение. Дело в том. У меня есть 5 текстовых вводов и много разделенных div-ов (опций) . Когда я нажимаю на div, я хочу поместить его значение в один текстовый ввод, который я выберу, щелкнув перед нажатием на div (опция). На данный момент у меня есть это:

<input type="text" class="mark" value="" id="choice1"/>

<input type="text" class="mark" value="" id="choice2"/>

<div class="copy">option1</div>
<div class="copy">option2</div>
<div class="copy">option3</div>
<div class="copy">option4</div>
<div class="copy">option5</div>
<div class="copy">option6</div>

<script type="text/javascript">
    $(document).on('click', '.mark', function(e){
       e.preventDefault();
       var pokus = $(this).attr("class","paste")
       $(document).on('click', '.copy', function(a){
           a.preventDefault();
           $('.paste').val($(this).text());
        })
     });

</script>

Итак, когда я нажимаю на ввод (с классом «mark»), он также получает класс «paste», затем я нажимаю на опцию (с классом » copy "), и он будет вставлен в выбранный вход.

Проблема в том, что мне нужно удалить класс "paste" после того, как значение из опции скопировано во входное значение. И вот я застрял.

Когда я пытаюсь что-то вроде этого:

$(document).getElementsByClassName("paste").removeClass('paste');

Я получаю сообщение об ошибке, что getElementsByClassName не является функцией.

Я хочу спросить вас, есть ли у кого-то идея, как сделать это Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 30 апреля 2020

Удалите вставку класса из всех отметок, чтобы иметь только один «выбранный», см. Предварительный просмотр «Выбрать» вход с jquery

$(document).on('click', '.mark', function(e) {
    // Prevent multiple input select
    $(".mark").removeClass("paste")

    // Add class to "selected" input
    $(this).addClass("paste")
});

$(document).on('click', '.copy', function(a) {
    $('.paste').val($(this).text());
    $(".paste").removeClass("paste");
})
0 голосов
/ 30 апреля 2020

попробуйте

 $(document).on('click', '.mark', function(e){
      $('.mark').removeClass('paste');
       $(this).addClass("paste");
     });

 $(document).on('click', '.copy', function(a){
       $('.paste').val($(this).text());
 });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...