Array filter with exclusive option

More
6 years 6 months ago #48393 by wireframemedia
By setting that up as a default answer that will upset the skip logic as in some places checking that off, terminates the user.

Is there any other way to add in a static, exclusive option along with a filtered array?

I really need this to work for 2 questions then I'm all set.

Thanks.
d.

Please Log in to join the conversation.

More
6 years 6 months ago #48397 by tpartner
Darn, that kind of sets us back to JavaScript.

Well I can force the "none of the above" option to appear but if the respondent checks it, advances in the survey and then returns, the option will be unchecked by the filtering process.

Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.

Please Log in to join the conversation.

More
6 years 6 months ago #48399 by wireframemedia
That is ok. We do not allow the previous button and it will be token-based so they can only go one, way once.

If we do this with Javascript that is ok. I just need the code to use, I can modify it but wouldn't know where to begin by writing it from scratch.

I just need that static option to be available for the last two questions in the cascade series. Then if the user checks it there, they will term out.

That will finalize the survey once this is fixed and we can be done.

Thank you again for all your input.
Dawna

Please Log in to join the conversation.

More
6 years 6 months ago #48407 by tpartner
Assuming the survey is in question-by-question mode and that your "static" options are always last in the list, place the following script in the source of each question that you would like the last option to be permanently displayed:
<script type="text/javascript" charset="utf-8">
 
    $(document).ready(function(){
 
        window.setTimeout(function() {
            $('td.answer li:last').show();
            $('td.answer li:last input[type=hidden]:eq(0)').attr('value', 'on');
        }, 50);
 
    });
 
</script>

Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.

Please Log in to join the conversation.

More
6 years 6 months ago #48413 by wireframemedia
I will try that right now.

Do I keep the array filter on?

Thanks.
Dawna

Please Log in to join the conversation.

More
6 years 6 months ago #48414 by tpartner
Yup, turn on the filter for all questions.

Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.

Please Log in to join the conversation.

More
6 years 6 months ago #48415 by wireframemedia
Ok I did it and I changed the code of 50 to 98 but it won't show up. Drat!

I tried it both ways with your 50 and with my 98 which is the correct code.

Any ideas?

The browser says "done but with errors..."

Thanks.

Dawna

Please Log in to join the conversation.

More
6 years 6 months ago #48416 by tpartner
The 50 is just a 50 millisecond delay before firing the script so the filtering can happen first, it should be left alone.

What browser are you using? I tested with IE7 and Firefox.

Can you check the log to see what the errors are.

Failing that, can you activate the survey so I can check? (send me a PM with the URL if it's sensitive)

Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.

Please Log in to join the conversation.

More
6 years 6 months ago #48418 by wireframemedia
Ok I've put it back and still no go.

I'm using IE8 and I also tried Firefox. When I view the source it is in there....

I'll send you a PM with the link. It is a high-level sensitive survey for one of the big Social Networking companies.

Thanks so much for all your help with this.

Dawna

Please Log in to join the conversation.

More
6 years 6 months ago #48419 by tpartner
Although I don't get any JS errors I see the problem - it's the Limespired template messing things up.

Use this. I would also move it to the question help so it doesn't show in the alert that pops up if the question is unanswered. Note that this will only display the last option - gimme a minute to modify it to display the last two.
<script type="text/javascript" charset="utf-8">
 
    $(document).ready(function(){
 
        window.setTimeout(function() {
            $('.survey-question-answer li:last').show();
            $('.survey-question-answer input[type=hidden]:eq(0)').attr('value', 'on');
        }, 50);
 
    });
 
</script>

Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.

Please Log in to join the conversation.

More
6 years 6 months ago #48420 by wireframemedia
Ok great! Thank you.
I'll try this and then check back in a few for the other.
Thanks so much!!!

Dawna

Please Log in to join the conversation.

More
6 years 6 months ago #48421 by tpartner
And this should show the last two options:
<script type="text/javascript" charset="utf-8">
 
    $(document).ready(function(){
        var itemCount = $('survey-question-answer li').length;
        itemIndex = Number(itemCount-2);
        window.setTimeout(function() {
            $('survey-question-answer li:eq('+itemIndex+')').show();
            $('survey-question-answer li:eq('+itemIndex+') input[type=hidden]:eq(0)').attr('value', 'on');
            $('survey-question-answer li:last').show();
            $('survey-question-answer li:last input[type=hidden]:eq(0)').attr('value', 'on');
        }, 50);
 
    });
 
</script>

Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.

Please Log in to join the conversation.

More
6 years 6 months ago #48422 by wireframemedia
Ok we're getting very close here.

The first script you provided worked somewhat...it showed me the Other (please specify) option but not the none of the above option. The second script didn't show either of them so the first one was very close....

Getting there...
Dawna

Please Log in to join the conversation.

More
6 years 6 months ago #48423 by tpartner
Dawna, I've sent you a PM (and no it's not rude :) )

Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.

Please Log in to join the conversation.

More
6 years 6 months ago #48424 by wireframemedia
Thanks Tony.
How do I get it?

Sorry, I am so new to this forum, not sure where to retrieve...
Dawna

Please Log in to join the conversation.