我正在努力实现这一目标:
单击每个<a>
按钮并将.text
每个元素的传递复制到文本字段。该代码有效,但是当有多个相同的代码块时。它不能很好地工作。单击每个按钮时,按钮的.text
值将传递给所有文本字段,而不是其兄弟字段。
这是我的 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
谢谢