javascript - jQuery change/toggle classes between buttons from inside PHP loop -
i have set of 2 buttons inside loop.
<button class="dislike-btn" data-id="dislikebtn-1>">dislike</button> <button class="like-btn" data-id="likebtn-1">like</button> <br /> <button class="dislike-btn" data-id="dislikebtn-2">">dislike</button> <button class="like-btn" data-id="likebtn-2">like</button> <br /> <button class="dislike-btn" data-id="dislikebtn-3">">dislike</button> <button class="like-btn" data-id="likebtn-3">like</button>
the desired functionality 1 button in each set/iteration selected, achieved adding/removing class (.dislike-btn-solid .dislike-btn , .like-btn-solid .like-btn
) other button. in other words, if user clicks "like" .like-btn-solid
added .like-btn
, if .like-btn-solid
selected on .dislike-btn
before remove it.
i'd need jquery in selected button id's. i've tried different functions i.e closest(), hasclass(), removeclass() stuck selected right id's. jquery not strength highly appreciate working example or pointers in right direction. thanks!
radio buttons better tool that, if has normal buttons:
set data-*
attribute same both buttons , use that, (not 100% sure if got correctly how classes should added/removed):
$('.like-btn').click(function(){ var $button = $(this); var buttonnumber = $button.data('button'); $button.addclass('like-btn-solid'); $('.dislike-btn[data-button="'+buttonnumber+'"]').removeclass('dislike-btn-solid'); }); $('.dislike-btn').click(function(){ var $button = $(this); var buttonnumber = $button.data('button'); $button.addclass('dislike-btn-solid'); $('.like-btn[data-button="'+buttonnumber+'"]').removeclass('like-btn-solid'); });
.dislike-btn-solid { color: red; } .like-btn-solid { color: blue; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <button class="dislike-btn" data-id="dislikebtn-1" data-button="1">dislike</button> <button class="like-btn" data-id="likebtn-1" data-button="1">like</button> <br /> <button class="dislike-btn" data-id="dislikebtn-2" data-button="2">dislike</button> <button class="like-btn" data-id="likebtn-2" data-button="2">like</button> <br /> <button class="dislike-btn" data-id="dislikebtn-3" data-button="3">dislike</button> <button class="like-btn" data-id="likebtn-3" data-button="3">like</button>
i'm sure in single click handler both clearer have seperate this.
Comments
Post a Comment