2013-11-23 42 views
0

這裏是我的代碼,它打開窗口上的彈出窗口,名稱類似於我的輸入值。 它適用於我在html中的第一部分(PASS首先在我的html中),但不適用於其他人。 有什麼問題? jquery只打開第一個按鈕

   </div> 
      </div> 
<!---------------- POLL BUTTON DIV(POP-UP)----------------------> 
      <div id="modal" class="poll"> 
       <div id="content"> 

       </div> 
      </div> 
<!---------------- PASS BUTTON DIV(POP-UP)----------------------> 
      <div id="modal" class="pass"> 
       <div id="content"> 

       </div> 
      </div> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      $('#link').click(function(e) { // Button which will activate our modal 
      var block = $(this +":input").val(); 
       $('.'+block).reveal({ // The item which will be opened with reveal 
        animation: 'fade',     // fade, fadeAndPop, none 
        animationspeed: 600,      // how fast animtions are 
        closeonbackgroundclick: true,    // if you click background will modal close? 
        dismissmodalclass: 'close' // the class of a button or element that will close an open modal 
       }); 
      return false; 
      }); 
     }); 
    </script> 
+0

我什至不知道這是怎麼工作的,你被強迫DOM元素到一個字符串,並附加一個jQuery psuedo選擇器...?你可以在http://jsfiddle.net中提供這個工作的例子。 –

+4

** ID **必須是唯一的。使用**類**形式多個元素。 –

回答

2

接通這些你classid屬性,然後調用類的jQuery,而不是ID。

只有遍歷DOM時纔會引用ID。之後,它停止搜索。

這裏是HTML構建正確的方法:

 <div id="poll" class="modal"> 
      <div class="content"> 
      </div> 
     </div> 
     <div id="pass" class="modal"> 
      <div class="content"> 
      </div> 
     </div> 

也改變了你的<div id="content"><div class="content">,因爲你有一個以上。要選擇其中之一,請使用:

$('#pass').find('.content') 

作爲示例。

這裏是你會使用什麼jQuery的打電話:

$('.modal').click() 

這將取代您$('#link').click()