我想使用 jQuery Validation 插件验证隐藏的表单,以处理 woocommerce 评论。
HTML 输出为:
<form>
<!-- then later -->
<div class="comment-form-rating-wrap"><p class="comment-form-rating"><label for="rating">Overall Rating</label><span class="required">*</span><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" href="#">4</a><a class="star-5" href="#">5</a></span></p><select style="display: none;" name="rating" id="rating">
<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><div class="rating-error">select a rating</div><p></p></div>
</form>
如您所见,上面有一个表单元素是隐藏的,因为表单改为显示星号(它是产品评论),它使用此 jquery 隐藏选择元素并更改为星号:
jQuery('#rating').hide().before('<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" href="#">4</a><a class="star-5" href="#">5</a></span></p>');
jQuery('body')
.on( 'click', '#respond p.stars a', function(){
var jQuerystar = jQuery(this);
var jQueryrating = jQuery(this).closest('#respond').find('#rating');
jQueryrating.val( jQuerystar.text() );
jQuerystar.siblings('a').removeClass('active');
jQuerystar.addClass('active');
return false;
})
.on( 'click', '#respond #submit', function(){
var jQueryrating = jQuery(this).closest('#respond').find('#rating');
var rating = jQueryrating.val();
});
所以问题是我如何将它链接到 jQuery Validation 插件?