簡體   English   中英

我的第一個jQuery插件,似乎只綁定到頁面上八種形式的第一種形式

[英]my first jQuery plugin, only seems to bind to the first form of eight forms on the page

我正在寫一個小的jQuery插件,該插件綁定到頁面上的8個div,每個div都包含一個表單。 每個窗口小部件都有兩個鏈接,這些鏈接會遞增或遞減表單中的字段,然后發布表單。 問題在於頁面上的所有16個鏈接都提交了頁面上的第一個表單。

源代碼在這里: http : //pastie.org/657045

我是jQuery / JS newb,認為這可能是一個范圍可變的問題,但是我嘗試了所有操作,但無法使這些元素獨立運行。

從一開始,您就需要遍歷$(containerobj)的結果,並通過它運行其余代碼,替換每個引用,如下所示:

jQuery.RankWidget = function(containerobj, options) {
   return $(containerobj).each(function() {
     var $container = $(this);
     var $form          = $container.find('.rank_buttons form');
     var $rank_up       = $container.find('.rank.up');
     var $rank_down     = $container.find('.rank.down');
     var $value_field   = $container.find('input.rank_value');
     var $comment_score = $container.find('.comment_score');
     var $comment_rank  = $container.find('.comment_rank');
     ...
   };
};

目前,您正在將所有事件應用於所有鏈接,而不是依次將其限定在每個容器對象上。

我通過使用.click()而不是.live()解決了我的問題

有人知道是否可以使用.live()並正確獲取每個小部件的作用域? 我什至嘗試將變量作為參數傳遞給clickRank()函數,但它仍引用錯誤的形式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM