Have an idea?

Visit Sawtooth Software Feedback to share your ideas on how we can improve our products.

Multiple select question with categories name and none of the above

I have multiple select question with two categories and None of the above option.

Category Name-1
-Option 1
-Option 2
-Option 3
Category Name-2
-Option 4
-Option 5
-Option 6
None of the above

What is the best approach to program this question?

 I have tried with Select type question with check box and disabled using the below code. However, the checkbox's are still appearing.

<style type="text/css">
#Q8_1
{
display:none;
}
</style>

<style type="text/css">
#Q8_4
{
display:none;
}
</style>


Alternatively, we can use the free format which gives neat look. However, adding "None of the above" is very difficult.
asked Nov 10, 2012 by Lawrence Bronze (2,100 points)

3 Answers

+2 votes
 
Best answer
I have added "_graphical" on the attribue id and it now works

<style type="text/css">
#Q8_1_graphical
{
display:none;
}
</style>

<style type="text/css">
#Q8_4_graphical
{
display:none;
}
</style>
answered Nov 10, 2012 by Lawrence Bronze (2,100 points)
selected Nov 11, 2012 by Lawrence
+1 vote
We had such problems also and here was our solution which worked beautifully ...

In your example, create a parent list with Options 1-6 defined as codes 1-6 and none of the above (make exclusive) as code 7, then define Category name 1 as code 8 and Category name 2 as code 9. Create a constructed list which will look as such ...

ADD(CatList,8)
ADD(CatList,1,3)
ADD(CatList,9)
ADD(CatList,4,7)

The constructed list will be used as the list to display.

All we need to do now is hide the radio buttons or check boxes for the category codes.

Save the file jquery-1.6.2.min.js in your graphics folder.

Pop this code into the HTML TAG area under survey settings/headers and footers ...

<script src="[%GraphicsPath()%]jquery-1.6.2.min.js"></script>

<script type="text/javascript">
  $.noConflict();

jQuery(document).ready(function(){

  jQuery(".group_header").parents("tr.clickable").each(function(index) {
    var HeaderRowObj = jQuery(this);
   
    HeaderRowObj.removeClass("clickable");
    HeaderRowObj.addClass("group_header_row");

    var InputObj = HeaderRowObj.find("input");
    InputObj.addClass("HideElement");  //Make sure it is hidden

    var GroupHeaderObj = HeaderRowObj.find(".group_header");

    HeaderRowObj.html("<td colspan='2'>" + GroupHeaderObj.html() + "</td>");
    HeaderRowObj.prepend(InputObj);

  });
});

</script>


And for the category codes, you need to pop the following surrounding tags ...

<span class="group_header"><b>Category Name-1</b></span>

Best to make the categories bold so they standout.

This solution works a treat and is easy to implement.

Good luck.
answered Nov 11, 2012 by Paul Moon Platinum (76,675 points)
Paul,

Great work around!

Thank you!
+1 vote
I've always just set this type of question up in free format, then I can create all the headers I want without them being assigned an answer code.  I like the other solutions too, always nice to have options.
answered Nov 12, 2012 by Jay Rutherford Gold (32,990 points)
We were using the same method too Jay. The main reason we stopped using it was because of the nice features we lost in free format questions like the hi-light on the codes, other specify and exclusive code control. Othewise it was nice.
...