2011-07-13 17 views
2

みんな。クラスを表示/非表示にする

"onclick"にhrefリンクを使用して、非表示と非表示を切り替えるようにしています。私は、jQuery、JavaScript関数を使用してみましたが、私はそれが動作するように十分に知っているようではありません。私は近づいた。これは私が今持っているものである(私の8かそこらの試み)

Styles.cssを:

.noPhones{ 
    display: none; 
} 

ジャバスクリプト(contacts.tpl):

{literal} 
<script type="text/javascript"> 
function swapMyToggledDiv() 
{ 
if(document.getElementById(".noPhones").style.display == "none") 
{ 
document.getElementById(".noPhones").style.display = "block"; 
} 
else 
{ 
document.getElementById(".noPhones").style.display = "none"; 
}</script> 
{/literal} 

マイフォーム(contacts.tpl) :

 <tr><td> 
      <h2><a href="#" onclick="swapMyToggledDiv()">Phone</a></h2> 
     </td><td> 
      <input type="hidden" name="phone[contactId]" value="{$userData.contact_id}" /> 
      <input type="text" name="phone[tel]" size="25" value="{$userData.telTel}" /> 
     </td></tr> 

     <tr class="noPhones"><td> 
      <h2>Cell #</h2> 
     </td><td> 
      <input type="text" name="phone[cell]" size="25" value="{$userData.telCell}" /> 
     </td></tr> 

     <tr class="noPhones"><td> 
      <h2>Work #</h2> 
     </td><td> 
      <input type="text" name="phone[work]" size="25" value="{$userData.telWork}" /> 
     </td></tr> 

     <tr class="noPhones"><td> 
      <h2>Home #</h2> 
     </td><td> 
      <input type="text" name="phone[home]" size="25" value="{$userData.telHome}" /> 
     </td></tr> 

     <tr class="noPhones"><td> 
      <h2>Pager #</h2> 
     </td><td> 
      <input type="text" name="phone[pager]" size="25" value="{$userData.telPager}" /> 
     </td></tr> 

     <tr class="noPhones"><td> 
      <h2>Fax</h2> 
     </td><td> 
      <input type="text" name="phone[fax]" size="25" value="{$userData.telFax}" /> 
     </td></tr> 

リンクをクリックするまで「noPhones」クラスを非表示にする必要があります。

ご協力いただければ幸いです!

ありがとうございます!

答えて

2

は簡単ではありません属性を持つことはできません:あなたはあなたにIDを適用した場合

function swapMyToggledDiv() 
{ 
    $(".noPhones").toggle(); 
} 

このアクションをjQuery onreadyメソッドで適用することができます。

$(function() { 
    $("#toggle_link").click(function() { 
     $(".noPhones").toggle(); 
    }); 
}); 
+0

Holy moly!私はあまりにも複雑なこの方法を作っていた!それがそれでした。私は2時間それに行ってきました!!ありがとうございました!!!! – Charlie

+0

@SquireCD:チュートリアルを読むことで、次のことができます。http://docs.jquery.com/Tutorials –

+0

@SquireCD:大歓迎です。楽しい! –

2

、あなたがIDを与える必要がdocument.getElementById(".noPhones")

はjQueryのでの視認性をトグルクラス

2

Jqueryはきれいです。あなたはそれを使うべきです。それは非常に簡単です。

これだけです。

ステップ1:関数を呼び出すonclickの設定 "testFunction()"

ステップ3:関数を定義

<script type="text/javascript"> 
    function testFunction() { 
    $('.noPhones').hide(); or $('.noPhones').show(); 
    // The $('.noPhones') selector selects all of the objects with a class of "noPhones" 
    // use $('#id') to select an item by ID 
    } 
</script> 

ます場合はjQueryの

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> 

は、ステップ2を含めますページの読み込み時に何かしたいのですが...

<script type="text/javascript"> 
    $(function(){ //define function here }); 
    // Stuff defined in function will execute on page load. 
</script> 

ほしいと思っています。 I LOVE JQUERY

+0

JQueryとJavascriptを使用する理由を尋ねました。主な理由はブラウザの互換性です。 Javascriptの使用に起因するブラウザの互換性の問題に専念している私は、チーム全体が私の所で働いています。 JQueryは、複数のブラウザ/プラットフォームをサポートすることから生じる問題を隠すブラックボックスです。 JQueryがオプションの場合は、必ずJQueryを使用してください。 –

関連する問題