2012-01-12 97 views
0

我是JQuery的新手,所以我可能会完全错误。我想计算另一个div内的div的数量,因为我动态添加到它们中。那里已经有几个div了。基本上我所做的是点击一个按钮,它会添加一个新的div并提醒div的总数,旧的加上新的。这是我迄今为止所做的,并且不起作用。 这里是Jquery的:在jquery中计算动态添加div的数量

<!-- Jquery to Add New Textarea --> 

<script type="text/javascript"> 

    $(document).ready(function(){ 

     $('#addTertButton').click(function(){ 

      //Shows 
      alert($('div.addTertDiv').size()); 

      $('.addTertDiv').append("<?php echo $tertDiv; ?>"); 

     }); 
    }); 
</script> 

这里是PHP:

    <div class="docedcont"> 
         <div class="tertiarywrapper"> 
          <?php 

           $counttert = count($this_rds->tertiary_array); 
           for($i = 0; $i < $counttert; ++$i) { 
            echo("<div id='tertiaryselect'>"); 


             echo("<br />".$this_rds->rds_number.".".$this_rds->physreq_number.".".$this_rds->tertiary_array[$i]['tertiary_number']." ".$this_rds->tertiary_array[$i]['tertiary_title']."<br /><br />"); 

             echo("<textarea name=\"tertiary_text-".$i."\" cols=\"50\" rows=\"10\" class=\"dark\" onfocus=\"this.className='light'\" onblur=\"this.className='dark'\">"); 

              echo $this_rds->tertiary_array[$i]['tertiary_text']; 

             echo("</textarea>"); 

             echo("<input name=\"tertiary_id-".$i."\" type=\"hidden\" value=\"".$this_rds->tertiary_array[$i]['tertiary_id']."\">"); 
             echo("<input name=\"tertiary_type-".$i."\" type=\"hidden\" value=\"gb,ie,in,ae\">"); 
             echo("<input name=\"tertiary_number-".$i."\" type=\"hidden\" value=\"".$this_rds->tertiary_array[$i]['tertiary_number']."\"> "); 
             echo("<input name=\"tertiary_physreqlink_id-".$i."\" type=\"hidden\" value=\"".$this_rds->tertiary_array[$i]['tertiary_physreqlink_id']."\">"); 
             echo("<input name=\"tertiary_modby-".$i."\" type=\"hidden\" value=\"".$this_rds->tertiary_array[$i]['tertiary_modby']."\">"); 
             echo("<input name=\"tertiary_moddate-".$i."\" type=\"hidden\" value=\"".$this_rds->tertiary_array[$i]['tertiary_moddate']."\">"); 

             //Subsection Publish Checkbox 
             echo("Publish Subsection"); 
             if ($this_rds->tertiary_array[$i]['tertiary_show']=="yes"){ 
              echo("<input name=\"tertiary_show-".$i."\" type=\"checkbox\" value=\"yes\" checked />"); 
             } 
             else { 
              echo("<input name=\"tertiary_show-".$i."\" type=\"checkbox\" value=\"no\" />"); 
             } 

             echo("<input name=\"counttert\" type=\"hidden\" value=\"". $counttert."\">"); 

            echo("</div>"); 

           } 
            echo("<div class=\"addTertDiv\"></div>"); 

          ?> 
         </div> 
        <?php              
         //Add New Subsection 
         //On button click create new textarea and increase "counttert" 
        echo ("<button type=\"button\" id=\"addTertButton\" value=\"".$counttert."\">Click Me!</button>"); 
        ?> 
        </div> 

任何帮助将不胜感激。

+3

我们并不需要的PHP代码。你可以改为只发布它生成的输出HTML吗? – 2012-01-12 15:26:58

+0

请不要在SO问题中没有任何进一步解释时使用短语“不工作”。相反,请告诉我们结果与您想要达到的结果有何不同。 – Connum 2012-01-12 15:29:55

+0

btw,只是出于兴趣:你是否有意地混合jQuery和PHP代码(为了保持jQ代码更清晰),还是你没有意识到服务器端和客户端脚本之间的区别? – Connum 2012-01-12 15:35:43

回答

1

你想length属性:

alert($('div.addTertDiv').length); 

好吧,显然jQuery有大小功能。 length是比较常见的,但大小也应该工作。

另外,该线路:

$('.addTertDiv').append("<?php echo $tertDiv; ?>"); 

将选择所有.addTertDiv S,并追加到每一个你的回波的结果。那是你要的吗?

我想你可能会想:

$('.tertiarywrapper').append("<?php echo $tertDiv; ?>"); 
+0

'size()'返回'.length'。虽然它是愚蠢的,完全无用的函数,但如果它不起作用,那么'.length'也不起作用。 – Esailija 2012-01-12 15:28:14

+0

@Esailija - 谢谢 - 我不知道。 – 2012-01-12 15:29:34