首页 > 解决方案 > 使用 Lime Survey 禁用 Array 元素并在该禁用字段中显示其他相同 Array 元素的总和?

问题描述

有谁知道如何使用 Lime Survey 禁用 Array 元素并在该禁用字段中显示其他相同 Array 元素的总和?

例如:我们有问题类型:数组(文本)

数组 (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>

图片形式的问题

X

谢谢

标签: javascriptlimesurvey

解决方案


找到了我的问题的解决方案。如果有人有类似的情况,下面是我的代码:

描述:

  1. #limesurvey 是主要的表单名称。
  2. 使用 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>


推荐阅读