Have an idea?

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

Fixed choice CBC in Discover?

Does Discover-CBC allow for creating Fixed Choice options like Lighthouse does?
asked Apr 26, 2016 by WTW_cal Bronze (1,375 points)
retagged Apr 27, 2016 by Walter Williams

3 Answers

+2 votes
Here's my attempt at Bryan's clever idea.  I created a select question "Fixed1", gave it three response options, and gave it this source code:

<div class="question cbc" id="MyCbc_Fixed1_div">
    <div class="header1">
        If these were your only options, which would you choose?
    </div>
    <div class="question_body">
        <table class="inner_table default_display" width="100%">
            <tbody>
                <tr class="cbc_row_1 cbc_top_row">
                    <td class="row_label_cell" width="20%">
                        <div class="label_text">ATTRIBUTE #1 LABEL</div>
                    </td>
                    <td class="level_text_cell alt_color2" width="26%">
                        <div class="level_text">FIXED CONCEPT #1 - ATTRIBUTE #1 LEVEL</div>
                    </td>
                    <td class="level_text_cell alt_color1" width="26%">
                        <div class="level_text">FIXED CONCEPT #2 - ATTRIBUTE #1 LEVEL</div>
                    </td>
                    <td class="level_text_cell alt_color2" width="26%">
                        <div class="level_text">FIXED CONCEPT #3 - ATTRIBUTE #1 LEVEL</div>
                    </td>
                </tr>
                <tr class="cbc_row_2">
                    <td class="row_label_cell" width="20%">
                        <div class="label_text">ATTRIBUTE #2 LABEL</div>
                    </td>
                    <td class="level_text_cell alt_color2" width="26%">
                        <div class="level_text">FIXED CONCEPT #1 - ATTRIBUTE #2 LEVEL</div>
                    </td>
                    <td class="level_text_cell alt_color1" width="26%">
                        <div class="level_text">FIXED CONCEPT #2 - ATTRIBUTE #2 LEVEL</div>
                    </td>
                    <td class="level_text_cell alt_color2" width="26%">
                        <div class="level_text">FIXED CONCEPT #3 - ATTRIBUTE #2 LEVEL</div>
                    </td>
                </tr>
                <tr class="cbc_row_3">
                    <td class="row_label_cell" width="20%">
                        <div class="label_text">ATTRIBUTE #3 LABEL</div>
                    </td>
                    <td class="level_text_cell alt_color2" width="26%">
                        <div class="level_text">FIXED CONCEPT #1 - ATTRIBUTE #3 LEVEL</div>
                    </td>
                    <td class="level_text_cell alt_color1" width="26%">
                        <div class="level_text">FIXED CONCEPT #2 - ATTRIBUTE #3 LEVEL</div>
                    </td>
                    <td class="level_text_cell alt_color2" width="26%">
                        <div class="level_text">FIXED CONCEPT #3 - ATTRIBUTE #3 LEVEL</div>
                    </td>
                </tr>
                <tr class="cbc_row_4 first_input_row">
                    <td class="row_input_label_cell bottom_corner_label_cell" width="20%">&nbsp;</td>
                    <td class="input_cell clickable first_column alt_color2" width="26%" nowrap></td>
                    <td class="input_cell clickable alt_color1" width="26%" nowrap></td>
                    <td class="input_cell clickable last_column alt_color2" width="26%" nowrap></td>
                </tr>
            </tbody>
        </table>
    </div>
</div>

<script type="text/javascript">
$(document).ready(function(){
    $('#MyCbc_Fixed1_div tbody > tr:nth-child(4) > td:nth-child(2)').append($('#Fixed1_div tbody tbody > tr:nth-child(1) > .input_cell').contents().unwrap());
    $('#MyCbc_Fixed1_div tbody > tr:nth-child(4) > td:nth-child(3)').append($('#Fixed1_div tbody tbody > tr:nth-child(2) > .input_cell').contents().unwrap());
    $('#MyCbc_Fixed1_div tbody > tr:nth-child(4) > td:nth-child(4)').append($('#Fixed1_div tbody tbody > tr:nth-child(3) > .input_cell').contents().unwrap());
    $('#Fixed1_div > .question_body').hide();
    $('#Fixed1_div > .header1').contents().unwrap();
    $('#Fixed1_div').contents().unwrap();
})
</script>


This code is for a CBC with three attributes and three concepts, but this could be adjusted.

This code does not provide a none option, but I can add it upon request.

This code does not have a header 2 at the moment (e.g., "2 / 10").  I could add this if needed.

The two column colors do not alternate in the pattern of the other CBC questions.  I could add this if needed.

If you notice any other oddities, please don't hesitate to ask.  Odds are I can fix any visual funkiness.
answered Apr 28, 2016 by Zachary Platinum Sawtooth Software, Inc. (91,500 points)
+1 vote
Not formally supported...sorry.  But, you can "fake" a similar-looking (but not identical looking) fixed CBC task using the Select-type question in Discover...just make each "item" in the select list your full product concept (you'll need to know a bit of HTML to format the attributes with line breaks between them).
answered Apr 28, 2016 by Bryan Orme Platinum Sawtooth Software, Inc. (148,340 points)
Thanks Bryan, I believe it was Kenneth who mentioned Discover was intended to be a pared-down version of Lighthouse, with a little more "plug-and-play" features, targeted to those who don't really want to invest the time to learn a brand new software. Which is to say, I certainly understand there are some limitations relative to Lighthouse.
0 votes
I just implemented a work around that requires less HTML coding than in Zach's solution.  If you'd like me to show you how it works please contact me at: justin@sawtoothsoftware.com
answered May 4, 2016 by Justin Luster Silver Sawtooth Software, Inc. (6,670 points)
...