jquery
  • toggle
  • 2012-04-05 1 views 0 likes 
    0

    のクラスを切り替えるための最良の方法私がYESの一組の以上のカップル持っている - タグで作られたNOのボタンを...正確には:jQueryの - スパンボタン

    <label id='label-btn-yes_"+button_counter+"' class='ui-button ui-button-icon-only ui-widget ui-state-default ui-btn-expand-yes_"+button_counter+" '><span id='span-btn-yes_"+button_counter+"' class='ui-button-icon-primary ui-icon ui-icon-plusthick' onClick='expandYes(this,"+row_id+")'></span><span id='span-txt-yes_"+button_counter+"' class='ui-button-text'>Button</span></label> 
    <label id='label-btn-no_"+button_counter+"' class='ui-button ui-button-icon-only ui-widget ui-state-default ui-btn-expand-no_"+button_counter+" '><span id='span-btn-no_"+button_counter+"' class='ui-button-icon-primary ui-icon ui-icon-plusthick' onClick='expandNo(this,"+row_id+")'></span><span id='span-txt-no_"+button_counter+"' class='ui-button-text'>Button</span></label> 
    

    私は、ボタンを切り替えるには、次のようなコードを試みた:

    $(selector).removeClass("ui-icon-plusthick").addClass("ui-icon-minusthick").addClass("button-pressed").next().addClass("button-pressed"); 
    if ($(selector).attr("id") != $(node).find('.ui-icon-minusthick').attr("id")) 
    $(node).find('.ui-icon-minusthick').removeClass("ui-icon-minusthick").addClass("ui-icon-plusthick").removeClass('button-pressed').next().removeClass('button-pressed'); 
    

    $(セレクタ)現在の「ボタン」私は現時点で押すと$ AM(ノード)が戻って押されていない状態に切り替えることが押された状態で見つかったボタンです。

    現在のボタンとは異なるボタンを押したときにはOKを押すとうまくいきますが、問題は「押したままにする」ボタンを押すと表示されますが、戻ってきます押された状態に...

    以前に押された状態であった場合、SAMEボタンをトグルして非押されたままにする優雅な方法がありますか?

    ありがとうございました! CIAO、 ルイージ

    UPDATE:

    このリンクでテストサンプルを見ることができます:

    http://nunzioluigi.com/test/test.php

    私は(あまりにもtoggleClassを試してみました)が、私は同じボタンで午前とき、それがありませんaddClass + removeClassと同じ動作です...

    +0

    jQuery.toggleClass()http://api.jquery.com/toggleClass/ない何をしたいですか? –

    +0

    hello Khoi、あなたの答えに感謝します。私はtoggleClassを試してみましたが、試した限り、addClass + removeClassを使用するのと同じことをしました。http://nunzioluigi.com/test/testでテストサンプルを見ることができます。 .php ....多分私は間違った方法を使用した?... –

    答えて

    1

    私は自分で解決しました...

    はコードの順序を逆にしなければなりませんでした:

    if ($(selector).attr("id") != $(node).find('.ui-icon-minusthick').attr("id")) 
        $(node).find('.ui-icon-minusthick').removeClass("ui-icon-minusthick").addClass("ui-icon-plusthick").removeClass('button-pressed').next().removeClass('button-pressed'); 
    $(selector).removeClass("ui-icon-plusthick").addClass("ui-icon-minusthick").addClass("button-pressed").next().addClass("button-pressed"); 
    

    これで動作します。

    すべての人とKhôiに感謝します。

    チャオ、 ルイージ

    関連する問題