2012-07-27 29 views
0

我正在嘗試設置切換功能以在表格中顯示更多內容。JQuery的Toggle()函數是否只支持div來隱藏?

所以在這裏,我不能用我的< tr>做很多事情,我不知道它是因爲我錯過了什麼,或者因爲toggle()只適用於< div>?

這裏是我做過什麼:

腳本

<script> 
$(document).ready(function() { 
// hides the slickbox as soon as the DOM is ready (a little sooner that page load) 
    $('.hidden').hide(); 

// slides down, up, and toggle the slickbox on click  

    $('.more-info').click(function() { 
    $('.hidden').slideToggle(1000); 
    return false; 
    }); 
}); 
</script> 

按鈕:

<div style="float:right;"><a href="javascript:void(0)" class="more-info">Show more</a> 
</div> 

的表(TR進行切換):

<tr class="hidden"> 
    <td> 
     <img id="tableImage" src="<?php echo base_url($product['image_url'])?>" alt="product" width="121"/> 
    </td> 
    <td> 
     <?php echo $product['title'] ?> 
    </td> 
    <td> 
     <?php 
      $options = array(
         '0' => '0', 
         '1' => '1', 
         '2' => '2', 
         '3' => '3', 
         '4' => '4', 
         '5' => '5', 
         '6' => '6', 
         '7' => '7', 
      ); 

      if($product['quantity']==0){ 
       $value[$product['title']] = set_value('quantity'.$product['title']); 
      }else{ 
       $value[$product['title']] = $product['quantity']; 
      } 

      $data0 = 'class="quantSelect" value="'.$value[$product['title']].'" id="quant'.$product['title'].'"'; 
      echo form_dropdown('quantity'.$product['title'], $options, $value[$product['title']],$data0); 
     ?> 
    </td> 
    <td> 
     <?php echo $product['price'] ?> 
    </td> 
    <td id="<?php echo 'price'.$product['title']?>">$<?php echo $total[$product['title']] ?> 
    </td> 
</tr> 
+0

你介意製作一個jsFiddle嗎? – Inkbug 2012-07-27 05:36:30

+0

哇!縮進??? – elclanrs 2012-07-27 05:40:16

+0

哪裏放置了more-info? – 2012-07-27 05:41:55

回答

1

.toggle()絕對不僅僅限於div元素,它的確顯得做工精細用TR元素:http://jsfiddle.net/sdWVU/ - 包括如果指定的持續時間:http://jsfiddle.net/sdWVU/1/

但是,你的代碼實際上並未使用.toggle(),它使用.slideToggle()。對於tr元素來說,它並不「起作用」,因爲它隱藏並顯示元素,但不會將其滑動:http://jsfiddle.net/sdWVU/2/缺少幻燈片效果是表格工作方式的限制。

如果你想讓行隱藏並用動畫顯示,我建議.toggle('slow')

+0

謝謝,我試過用toggle()代替.slideToggle(),但它既不能工作,我的tr也不會隱藏。 – 2012-07-27 15:59:51

+0

我的jsfiddle示例是否適合您? – nnnnnn 2012-07-28 21:04:02

+0

我一直在使功能工作!謝謝,pb來自另一個影響這個劇本的劇本,我不知道爲什麼。他們都一起崩潰,但如果我刪除另一個,它與切換。謝謝 – 2012-07-29 18:18:34

1

如何約toggleClass

$('.more-info').click(function() { 
    $(this).toggleClass('hidden'); 
    return false; 
}); 

.hidden { 
    display: none; 
} 

其他的事情,你爲什麼不從HTML單獨的PHP?

reference

demo可以幫助你。

+0

好吧我試圖toggleClass,我需要閱讀有關該類的文檔。你認爲我的代碼包含太多的PHP?這是對我來說,嚴格的必要的,我怎麼可以減少php? – 2012-07-27 15:55:36

+0

@MilesM。將'options'和'ifs'移出'tr'。 – 2012-07-27 22:11:20