Jquery 将事件添加到星级

Jquery Add Event To Star rating

我使用的是 woocommerce 默认星级,我已将此 jquery 分配给星星 html。

<script>
    $(function() {
      $(".comment-form-rating .stars span a").click(function() {
      alert("test"); 
      $(this).parents("form:first").submit();

      });

    });

</script>

Html:

<p class="comment-form-rating"><label for="rating">Rating</label>
  <p class="stars">
    <span>
      <a class="star-1" href="#">1</a>
      <a class="star-2" href="#">2</a>
      <a class="star-3" href="#">3</a>
      <a class="star-4 active" href="#">4</a>
      <a class="star-5" href="#">5</a>
    </span>
  </p>
  <select name="rating" id="rating" style="display: none;">
    <option value="">Rate…</option>
    <option value="5">Perfect</option>
    <option value="4">Good</option>
    <option value="3">Average</option>
    <option value="2">Not that bad</option>
    <option value="1">Very Poor</option>
   </select>
</p>

点击星星没有反应?我在 firebug 中没有看到任何错误...没有警报。我希望用户点击一颗星,然后提交他们的评分。星级评分系统也与 jQuery 一起使用,因此它们可能会发生冲突,但我如何让我的代码工作?提交按钮可以,但我的老板不想要那个..

我该如何解决这个问题才能使我的代码正常工作?

您的活动看起来是正确的,但您可能忘记将其放入 $(document).ready(function() { // your code });

我将其查找元素的方式更改为 'watch',效果很好。

$(function() {
  $('.stars').find('a').click(function() {
      alert("test"); 
      $(this).parents("form:first").submit();
  });
});

工作Fiddle:http://jsfiddle.net/uosab7o4/1/