问题描述
有谁知道如何使用 Lime Survey 禁用数组元素并在该禁用字段中显示其他相同数组元素的总和?
例如:我们有问题类型:数组(文本)
数组 (xx1,xx2,xx3,xx4)
这里我想禁用 xx1 字段并在禁用字段中显示 xx2 和 xx3 的总和。
我尝试使用以下代码(基于搜索结果)禁用该字段,但它们似乎都不起作用
<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
$('array-multi-flexi[id="q1_x1_y1"]').attr('disabled','disabled');
$('array[id="q1_x1_y1"]').attr('disabled','disabled');
$('input[name="q1_x1_y1"]').hide();
$('array-multi-flexi[name="q1_x1_y1"]').hide();
$('input[name="#answertextq1_x1_y1"]').attr('disabled','disabled');
});
</script>
图片形式的问题
谢谢
解决方法
找到了我的问题的解决方案。如果有人在下面有类似的情况是我的代码:
描述:
- #limesurvey 是主要的表单名称。
- 使用 parseFloat 函数,否则会像字符串一样附加值。
<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
$('input[id="answer752589X30X2319x1_y1"]').attr('disabled','disabled');});
$("#limesurvey").on("change",function(event) {
var k = parseFloat($('input[id="answer752589X30X2319x2_y1"]').val());
var l = parseFloat($('input[id="answer752589X30X2319x3_y1"]').val());
var m = k+l;
$('input[id="answer752589X30X2319x1_y1"]').val(m);
});
</script>