javascript ile manipüle radyo kutusu seçimi

2 Cevap php

Ben bir anket yapmaya çalışıyorum ama o herhangi bir radyo kutusu olmadan tasarlanmıştır. Yani ben farklı bir arka plan rengi ile vurgulanmış olan bir seçim, tüm jquery ile yapılır yapmaya karar verdi.

Ben bunu göstermek olmaz ki, hiçbiri radyo kutusunun görünümünü ayarlamak, her benzersiz bir kimlik verdi. İşte senaryo.

<form action="v_poll.php" method="post">
<ul class="voting">
<li class="voting votetext"><input type="radio" name="voting" value="a1" style="display:none;" id="a1"><a onClick="vote('a1')"Answer 1</a></li>
<li class="voting votetext"><input type="radio" name="voting" value="a2" style="display:none;" id="a2"><a onClick="vote('a2')">Answer 2</a></li>
<li class="voting votetext"><input type="radio" name="voting" value="a3" style="display:none;" id="a3"><a onClick="vote('a3')">Answer 3</a></li>
<input type="hidden" value="1" name="id" />
<input type="submit" value="submit">
</ul>
</form>
<script type="text/javascript">
function vote(TheValue) {
GetElementById(TheValue).checked=true;
}
</script>

I $ _POST ['oy'] ile radyo kutusunun değerini kontrol Ama, boş olur. Değil radyo kutusuna atanan değer. Ben yanlış bir şey yapıyorum?

Lütfen yardım edin. Teşekkürler.

2 Cevap

Bir <label> with for="id" yerine bu gibi <a> kullanılarak, hem de javascript olmadan bunu yapabilirsiniz:

<li class="voting votetext">
  <input type="radio" name="voting" value="a1" style="display:none;" id="a1">
  <label for="a1">Answer 1</label>
</li>

Bu hiçbir şey new/HTML5 ya da bir şey, herhangi bir tarayıcı IE6 +, ve muhtemelen daha eski bu destekleyecektir.

GetElementById(TheValue).checked=true;

yerine olmalıdır:

document.getElementById(TheValue).checked=true;