Вывод значения в текстовое поле определенной формы при нажатии тега anchar

#javascript #jquery

#javascript #jquery

Вопрос:

ниже приведена динамическая структура тега div в форме. я хочу напечатать значение в определенное значение текстового поля среди всех.при нажатии на конкретную ссылку. я написал свои коды ниже.

 <div id="main">
  <a href="some url" id="my_id-0">click</a>
  <div>
    <input type="textbox" id="my-input-0" class="input-class" value=""/>
  </div>
</div>
<div id="main">
  <a href="some url" id="my_id-1">click</a>
  <div>
    <input type="textbox" id="my-input-1" class="input-class"value="" />
  </div>
</div>
<div id="main">
  <a href="some url" id="my_id-2">click</a>
  <div>
    <input type="textbox" id="my-input-2" class="input-class" value=""/>
  </div>
</div>
  

чего я точно хочу, так это
если нажата ссылка с идентификатором my_id-0, значение для текстового поля рядом с нажатой ссылкой должно быть добавлено динамическим способом. как мне это сделать?

Комментарии:

1. Я думаю, что это базовое использование jquery, вы должны сначала научиться самостоятельно.

2. @fish_ballэто также тривиально при использовании обычного JS. Тем не менее, jQuery будет короче и проще для ввода. В любом случае, решение тривиально.

Ответ №1:

Прежде всего id s должны быть уникальными в html-коде, поэтому удалите его и используйте class, как показано ниже:

 <div class="main">
  <a href="some url" id="my_id-0">click</a>
  <div>
    <input type="textbox" id="my-input-0" class="input-class" value=""/>
  </div>
</div>
<div class="main">
  <a href="some url" id="my_id-1">click</a>
  <div>
    <input type="textbox" id="my-input-1" class="input-class"value="" />
  </div>
</div>
<div class="main">
  <a href="some url" id="my_id-2">click</a>
  <div>
    <input type="textbox" id="my-input-2" class="input-class" value=""/>
  </div>
</div>
  

Используйте следующий jQuery для печати значений :

  $(document).ready(function(){
      $('a[id^=my_id]').click(function(e){
         e.preventDefault();
         $(this).next().find('.input-class').val('your print value');
      });
   });
  

Ответ №2:

 $('#my_id-0').siblings('div').children('input').value(yourValue);
  

Ответ №3:

Вы можете использовать ближайший, и идентификаторы должны быть уникальными

 $(document).ready(function(){
      $('a').click(function(e){
         e.preventDefault();
         $(this).closest('input[type="text"]').val($(this).attr("href"));
      });
   });
  

Ответ №4:

приведенные ниже коды работают для меня.

мой запрос,

 jQuery(document).ready(function($){
      $('a').click(function(e){
         e.preventDefault();
         $(this).next().find('.input-class').val('your print value');
      });
   });
  

мой html,

 <div id="main">
  <a href="some url" id="my_id-0">click</a>
  <div>
    <input type="textbox" id="my-input-0" class="input-class" value=""/>
  </div>
</div>
<div id="main">
  <a href="some url" id="my_id-1">click</a>
  <div>
    <input type="textbox" id="my-input-1" class="input-class"value="" />
  </div>
</div>
<div id="main">
  <a href="some url" id="my_id-2">click</a>
  <div>
    <input type="textbox" id="my-input-2" class="input-class" value=""/>
  </div>
</div>
  

Спасибо всем за ответ.