我有一个如下所示的 html 文件,
<i class=‘icon-calendar icon-large' data-placement='top' data-toggle='popover' type='button'>
<div class='head hide'>Calendar</div>
<div class='content hide'>
<form action="#" data-remote="true" id="calendar_form" method="post">
<div style="...">
<input type="hidden" />
<input type="hidden" />
</div>
<table border='0px'>
<tbody>
<tr>
<td colspan='2'>
<button class='btn btn-default btn-block' id='submit' type='submit'>Convert</button>
</td>
</tbody>
</table>
</form>
</div>
</i>
<li class="..." id="calendar_example"><label class=" label" for="...">...</label>
<input class="..." id="calendar_example_1" name="[calendar_example][0][calendar_example_1][0]" type="text" />
我正在尝试使用 Jquery 编写函数,当单击 id 提交的按钮时,我可以将值从弹出窗口传递到 id calendar_example_1 的字段,我的代码(查找该字段的工作代码)是
$(function(){
$('body').on('click','#submit', function(){
var calendar_name = $(this).parent().parent().parent().parent().parent().parent().siblings().find('#calendar_example_1').attr('name');
return false;
});
});
通过多次使用 .parent(),我认为这不是编写此代码的好方法。由于我是 jquery 的新手,我找不到任何更好的解决方案来按照我想要的方式工作。有人可以给我一些建议吗?
编辑: 外部形式是嵌套的。
最佳答案
你可以这样做:
var calendar_name = $(this).closest("i.icon-calendar").siblings("li#calendar_example").find('#calendar_example_1').attr('name');
关于javascript - 编写此 jquery 的更好选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27351218/