单击时提交表单的单选按钮集

时间:2012-12-11 19:09:00

标签: html javascript-events

我有一组10个单选按钮(例如,在1到10个评级系统中),当您click时,它会自动提交评级。这可以通过以下方式实现:

<td>
    <input type="radio" name="img_rating" value="1" onclick="document.goRate.submit();return false;">
</td>
<td>
    <input type="radio" name="img_rating" value="2" onclick="document.goRate.submit();return false;">
</td>
<td>
    <input type="radio" name="img_rating" value="3" onclick="document.goRate.submit();return false;">
</td>
<td>
    <input type="radio" name="img_rating" value="4" onclick="document.goRate.submit();return false;">
</td>
<td>
    <input type="radio" name="img_rating" value="5" onclick="document.goRate.submit();return false;">
</td>
<td>
    <input type="radio" name="img_rating" value="6" onclick="document.goRate.submit();return false;">               
</td>
<td>
    <input type="radio" name="img_rating" value="7" onclick="document.goRate.submit();return false;">
</td>
<td>
    <input type="radio" name="img_rating" value="8" onclick="document.goRate.submit();return false;">
</td>
<td>
    <input type="radio" name="img_rating" value="9" onclick="document.goRate.submit();return false;">
</td>
<td>
    <input type="radio" name="img_rating" value="10" onclick="document.goRate.submit();return false;">
</td>   

有没有办法做到这一点需要更少的代码?理想情况下会有某种方式让我不必包括相同的 onclick 10次,但也许这是最好的方法。

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果你愿意,你可以使用jQuery。因为它看起来像这样:

<form name="gotoRate" id="gotoRate">
    <input type="radio" value="1" name="img_rating">1
    <input type="radio" value="2" name="img_rating">2
    <input type="radio" value="3" name="img_rating">3
    <input type="radio" value="4" name="img_rating">4
    <input type="radio" value="5" name="img_rating">5
    <input type="radio" value="6" name="img_rating">6
    <input type="radio" value="7" name="img_rating">7
    <input type="radio" value="8" name="img_rating">8
    <input type="radio" value="9" name="img_rating">9
    <input type="radio" value="10" name="img_rating">10
</form>​​​​​​​​​​​​​​​​​​​​​​​​

和jQuery部分

$(function(){
   $("input:radio").change(
      function(){
         $("form#gotoRate").submit();
      }
   );
});