【问题标题】:better options for writing this jquery编写此 jquery 的更好选择
【发布时间】:2014-12-08 04:01:29
【问题描述】:

我有一个类似下面的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 的新手,所以我找不到任何更好的解决方案,它可以按照我想要的方式工作。任何人都可以给我一些建议吗?

编辑: 外部表单是嵌套的。

【问题讨论】:

    标签: javascript jquery html ruby-on-rails-3


    【解决方案1】:

    你可以这样做:

    var calendar_name = $(this).closest("i.icon-calendar").siblings("li#calendar_example").find('#calendar_example_1').attr('name');
    

    【讨论】:

      【解决方案2】:

      你可以使用

      $('#submit').click(function(){
      var calendar_name = $('#calendar_example_1').attr('name');
      });
      

      【讨论】:

      • 奇怪的是,我们已经尝试过使用与您类似的方法,但它根本不起作用。仅使用 $('#submit').click(function(){,弹出框无法显示。
      猜你喜欢
      • 2013-01-14
      • 2012-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-14
      • 2017-08-19
      • 1970-01-01
      相关资源
      最近更新 更多