jquery
  • toggle
  • 2012-04-05 3 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'); 
    

    여기서 $ (selector)는 현재 "버튼"이고, $ (노드)는 눌린 상태에서 찾은 버튼으로 unpressed 상태로 전환됩니다.

    눌려진 "버튼"이 현재 버튼과 다른 경우 나는 그때를 눌러 좋아, 잘 작동하지만 내 문제는 내가 눌렀을 때 "토글"한 것처럼 보이지만 다시 되돌아갑니다 눌려진 상태로 ...

    SAME 버튼을 토글하고 이전에 눌린 상태 인 경우 눌리지 않게하려면 우아한 방법이 있습니까?

    미리 감사드립니다. 챠오, 루이지

    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에게 감사드립니다.

    챠오, 루이지

    관련 문제