我使用的是jquery raty (一个评分脚本)。我有多个评级选项,如果它们都没有被选中,生成的隐藏帖子字段就不存在。这就是我能够命名和拉取为所有4个选项选择的分数的方法。
<section>
<label>Option 1:</label>
<div class="options" data-score-name="option1"></div>
</section>
<section>
<label>Option 2:</label>
<div class="options" data-score-name="option2"></div>
</section>
<section>
<label>Option 3:</label>
<div class="options" data-score-name="option3"></div>
</section>
<section>
<label>Option 4:</label>
<div class="options" data-score-name="option4"></div>
</section>
<script type="text/javascript">
$('.options').raty({
half: true,
width: 'width: 150',
path: '/assets/img',
starOff: 'star-off.png',
starOn: 'star-on.png',
starHalf: 'star-half.png',
readOnly: false,
scoreName: 'score[]',
click: function(score)
{
var ScoreName = $(this).attr('data-score-name');
$(this).append("<input type='hidden' name='rate[" + ScoreName + "]' value='" + score + "'>");
}
});
</script>我遇到的问题是,如果没有选择,如何让每个选项都有一个默认值?我不确定是否有一个onload选项可以给它一个默认值,所以只能使用onclick。
发布于 2014-04-14 04:21:30
我想通了,而且效果很好。这可能是一种错误的方式,但它是有效的:)
<script type="text/javascript">
$('.options').raty({
half: true,
width: 'width: 150',
path: '/assets/img',
starOff: 'star-off.png',
starOn: 'star-on.png',
starHalf: 'star-half.png',
readOnly: false,
scoreName: 'score[]',
score: function() {
var ScoreName = $(this).attr('data-score-name');
return $(this).append("<input type='hidden' name='rate[" + ScoreName + "]' class='" + ScoreName + "' value='0'>");
},
click: function(score)
{
var ScoreName = $(this).attr('data-score-name');
$("." + ScoreName).val(score);
//$(this).append("<input type='hidden' name='rate[" + ScoreName + "]' value='" + score + "'>");
}
});
</script>https://stackoverflow.com/questions/23047764
复制相似问题