【问题标题】:apply jquery ui spinner to dynamically added elements将 jquery ui spinner 应用于动态添加的元素
【发布时间】:2015-04-27 15:01:50
【问题描述】:

我想将 jquery-ui 微调器应用于动态添加的元素。

--html代码--

<table>
  <tr>
    <td>
      <div id="eachBox1"></div>
    </td>
    <td>
      <div id="eachBox2"></div>
...
</table>

-- jQuery 代码--

    $.ajax({
             ...
             success: function (items) {
                 $.each(items.d, function (idx, item) {
                      $('#eachBox'+idx).html
                       (   ...
                          '<input type="text" id="qty'+idx+'" value="1"/>'
                           ...
                       )
                  }
              }
     }) 

我想将 jquery-ui 微调器应用于名称以 qty 开头的每个元素。 所以我尝试了

$(document).on("load","[id^=qty]" function () {
    $(this).spinner();
});

但它不起作用。如果我将load 事件更改为click,它会起作用。 但这不是我想要的。 你有什么解决办法吗?

【问题讨论】:

    标签: javascript jquery html ajax jquery-ui


    【解决方案1】:

    试试这个:

    $.ajax({
             ...
             success: function (items) {
                 $.each(items.d, function (idx, item) {
                      $('#eachBox'+idx).html
                       (   ...
                          '<input type="text" id="qty'+idx+'" value="1"/>'
                           ...
                       )
                  }
                  $("[id^=qty]").spinner();
              }
     })
    

    刚刚将.spinner() 添加到success: function(){} 中,以便仅在创建元素后应用spinner()。

    【讨论】:

      【解决方案2】:

      我认为,您的代码中缺少一个逗号。

       $(document).on("load","[id^=qty]", function () {
                      $(this).spinner();
                  });
      

      这段代码怎么样

      $(document).ready(function(){
            $("[id^=qty]").spinner();
      });
      

      【讨论】:

      • 好吧..那是我的错误。不过还是不行,谢谢。
      • 检查修改
      • 我已经试过了。还是不能解决,谢谢你的帮助!
      【解决方案3】:

      试试这个

      $.ajax({
                   ...
                   success: function (items) {
                       $.each(items.d, function (idx, item) {
                            $('#eachBox'+idx).html
                             (   ...
                                '<input type="text" id="qty'+idx+'" value="1"/>'
                                 ...
                             )
                            $('#qty'+idx).spinner();
                        }
                    }
           }) 
      

      我希望这会奏效

      【讨论】:

        猜你喜欢
        • 2013-04-19
        • 1970-01-01
        • 1970-01-01
        • 2021-07-09
        • 2012-01-12
        • 2013-08-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多