Я пытаюсь добиться этого:Не удается получить Jquery .each работать, чтобы работать должным образом
Нажмите каждую <a>
кнопку и скопировать .text
каждого элемента передать в текстовое поле. Код работает, но когда имеется несколько одинаковых блоков кода. он не работает хорошо. при нажатии каждой кнопки значение кнопки переходит ко всем текстовым полям, а не к полю siblings.
Вот мой HTML:
<ul>
<li class="ast_trigger">
<a class="sldcont1 astbtn">layout1</a>
<a class="sldcont2 astbtn">layout2</a>
<a class="sldcont3 astbtn ast_active">layout3</a>
<input type="text" id="slides-slide_content_0" name="asteria[slides][0][slide_content_id]" value="layout3" class="full-text ast_content">
</li>
<li class="ast_trigger">
<a class="sldcont1 astbtn">layout1</a>
<a class="sldcont2 astbtn">layout2</a>
<a class="sldcont3 astbtn ast_active">layout3</a>
<input type="text" id="slides-slide_content_1" name="asteria[slides][1][slide_content_id]" value="layout3" class="full-text ast_content">
</li>
<li class="ast_trigger">
<a class="sldcont1 astbtn">layout1</a>
<a class="sldcont2 astbtn">layout2</a>
<a class="sldcont3 astbtn ast_active">layout3</a>
<input type="text" id="slides-slide_content_2" name="asteria[slides][2][slide_content_id]" value="layout3" class="full-text ast_content">
</li>
</ul>
Вот JS:
jQuery(window).ready(function() {
jQuery(".ast_trigger").each(function(){
jQuery(this).find('a.sldcont1').click(function(){
jQuery(".ast_content").val("layout1");
});
jQuery(this).find('a.sldcont2').click(function(){
jQuery(".ast_content").val("layout2");
});
jQuery(this).find('a.sldcont3').click(function(){
jQuery(".ast_content").val("layout3");
});
});
});
Вот живой jsbin пример: http://jsbin.com/IhajaX/1/edit
Благодаря
Нейтеральный ответ здесь –