0

タグで作成されたYES - NOボタンが1つ以上あります...正確には:

<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');

ここで、$(selector) は現在押している「ボタン」で、$(node) は押された状態で見つかったボタンで、押されていない状態に戻ります。

押された「ボタン」が現在押しているボタンと異なる場合、それは問題なく機能しますが、同じ「ボタン」を押すと、押されていない状態に切り替わるように見えますが、押された状態に戻ります。 ..

SAMEボタンを切り替えて、以前に押された状態にあった場合、押されたままにするエレガントな方法はありますか?

よろしくお願いします!チャオ、ルイージ

アップデート:

次のリンクでテスト サンプルを確認できます。

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

私も toggleClass() を試しましたが、同じボタンにいるときは addClass+removeClass と同じ動作をします...

4

1 に答える 1

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");

だから今それは動作します。

みんなとコイに感謝します。

チャオ、ルイージ

于 2012-04-06T09:59:41.573 に答える