我正在使用LimeSurvey,我想包括一个问题,答辩人可以包括多达30个名字作为答案。然而,我不想在一开始就向答辩人展示30个盒子,因为这是压倒性的,如果你只有几个名字要输入的话,需要大量滚动才能进行。是否可以对问题进行编码,以便只有在填充了前一个框后才会出现一个新框?谢谢。
发布于 2014-01-08 17:58:28
编辑:这个答案是写出来的,因为我找不到tpartner事先提出的答案。主要的区别是,我的是基于填写上一行和tpartner的on按钮来添加或删除行。
下面的代码应该适用于所有单一选择的数组(例如,5点比例数组),并且如果您知道Javascript/jQuery,则可以适用于其他类型。我想做更多这样的事-只是今天不行。因此,可以自由地请求其他问题类型的实现。
可以使用模板编辑器在template.js文件的开头添加代码。变量“探索”和“第一”必须根据你的调查来调整。
//Function to only display a new row if there is an answer in the previous row
//NOTICE: Rows which are reset to "No answer" will not be hidden
//NOTICE: This scipt was written based on LimeSurvey 2.00+ build 131107
//NOTICE: It only works for single-choice arrays (e.g. 5-point scale array) or multiple short texts
//BEGIN
$(document).ready( function() {
//SGQ code of the question to apply this to
var quest = "12345X1234X12345";
//A(nswer) code of the first row
var first = "1";
//hide all rows except the first
$("tr[id^='javatbd" + quest + "']").css("display","none");
$("tr[id='javatbd" + quest + first + "']").css("display","table-row");
//display rows if previous is answered
$("[name^='" + quest + "']").change(function() {
if(this.value.trim().length >= 1)
$("tr[id='javatbd" + this.name + "']").next().css("display","table-row");
});
});
//END诚挚的问候
发布于 2014-01-09 13:02:43
下面是另一种使用按钮添加/删除数组行的方法- question
干杯
发布于 2013-10-17 21:28:28
你打算用哪种类型的问题?你最好的选择,根据我,应该是使用多个简短的文本类型的问题,并创建30个文本框。然后,您可以使用javascript隐藏这些文本框,并在前面的文本框作为输入时立即显示它们。
干杯!
https://stackoverflow.com/questions/19414760
复制相似问题