我想用 Velocity 模板语言 (VTL) 编写一个简单的代码。我有一组下拉列表,我想遍历所有下拉列表并获取每个下拉列表的值并计算每个不同类别下选定值的数量。代码如下:
#macro( macroYesNoSelect $fieldId $section )
<select name='${fieldId}' id='${fieldId}' section='${section}' ischanged="">
<option value="Yes"
#if ($Form.getFieldValue("${fieldId}") == "Yes")
selected
#end
score="1">Yes</option>
<option value="No"
#if ($Form.getFieldValue("${fieldId}") == "No")
selected
#end
score="0">No</option>
<option value="N/A"
#if ($Form.getFieldValue("${fieldId}") == "N/A")
selected
#end
score="0">N/A</option>
</select>
#end
Javascript:
<script>
calcYesNO("Question");
function calcYesNO(sectionName){
var scoreSum=0;
var optionYes=0;
var optionNo=0;
var optionNA=0;
$("select[section='"+ sectionName +"']").each(function(){
if($(this).find("option:selected").attr('value') == 'Yes')
{
optionYes=optionYes+1;
}
else if($(this).find("option:selected").attr('value') == 'No')
{
optionNo=optionNo+1;
}
else
{
optionNA=optionNA+1;
}
}
scoreSum = optionYes;
return scoreSum;
}
</script>
HTML 代码:
<table>
<tr>
<td>Question1 ?</td>
<td>
#macroYesNoSelect ( "id1" "Questions" )
</td>
</tr>
<tr>
<td> Question2 ?</td>
<td>
#macroYesNoSelect ( "id2" "Questions" )
</td>
</tr>
<tr>
<td> Question3 ?</td>
<td>
#macroYesNoSelect ( "id3" "Questions" )
</td>
</tr>
</table>
我想选择 的数量YES
,NO
并NA
根据我的选择。但是当我调用函数时calcYesNO()
,我无法计算它们......
有人可以帮我解决这个问题吗?谢谢基肖尔