私はページ上にたくさんのスマイリーを持っています。クリックすると選択が必要です。私はjqueryのベースのソリューションを実装してみましたが、複数のスマイリーを選択得ているこの段階で立ち往生しています:jQueryセレクターのトラブル
<div class="smiles_feed">
<input type="text" id="rating" value="" name="rating" class="displaynone" />
<div style="float:left;width:auto;text-align:Center;">
<button type="button" class="awesomesmile" class="unselected" value="Awesome" style="margin-bottom:0px;"></button>
<div class="smiletitle" style="font-size:9pt;color:white;">Yummy!</div>
</div>
<div style="float:left;width:auto;text-align:Center;">
<button type="button" class="goodsmile" class="unselected" value="Good" style="margin-bottom:0px;"></button>
<div class="smiletitle" style="font-size:9pt;color:white;">Good!</div>
</div>
<div style="float:left;width:auto;text-align:Center;">
<button type="button" class="okaysmile" class="unselected" value="Okay" style="margin-bottom:0px;"></button>
<div class="smiletitle" style="font-size:9pt;color:white;">Okay!</div>
</div>
<div style="float:left;width:auto;text-align:Center;">
<button type="button" class="yucksmile" class="unselected" value="Yuck" style="margin-bottom:0px;"></button>
<div class="smiletitle" style="font-size:9pt;color:white;">Yuck!</div>
</div>
</div>
<script type='text/javascript'>
$(function(){
// Smile Click Function
$('div.smiles_feed :button').click(function(){
$(this).removeClass('unselected').addClass('selected');
$(this).siblings().removeClass('selected').addClass('unselected');
$('#rating').val($(this).val());
//alert($('#rating').val());
});
});
</script>
私が間違っているのか?どのように私は1つだけのスマイリーを選択するようにjavascript関数を変更するのですか?あなたのclick()
関数内
は罰金にhttp作品:// jsfiddleを.net/xJjFS/ –
ちょっとGaurav。値は正しく割り当てられています。これは、$( '#rating')。val($(this).val())です。 $(this)はまだボタンを参照しているので、まだ動作します。問題はUIにあります。ここで私がちょうどクリックしたスマイリーは、以前にクリックされたスマイリーの選択を解除しません。 – sniper
oh k ..質問を間違って解釈しました –