Check out the LimeSurvey source code on GitHub!

hide a cell in array dual scale

More
3 years 3 weeks ago #104194 by MikeConom
Good evening

I am trying to hide a cell in array dual scale with following script and to replace it by a numeric cell
but something is rong
var qID = {QID};
var select = '<div id="insertedNo"> \
    <input type="numeric-item text-item  numberonly" title="" name="no" /> \
    </div>';
 
$('#question'+qID+' .answer_cell_1_001' input.radio').hide();
$('#question'+qID+' .answer_cell_1_001').append(select);

Please Log in to join the conversation.

More
3 years 3 weeks ago - 3 years 3 weeks ago #104198 by tpartner
To return the question ID for a dual scale array you need to use "{self.qid}" (no idea why). And you had a couple of syntax errors.

Try this:

<script type="text/javascript" charset="utf-8">	
 
	$(document).ready(function() {
		var qID = {self.qid};
		var newSelect = '<div id="insertedNo"> \
    					<input type="numeric-item text-item  numberonly" title="" name="no" /> \
				</div>';
 
		$('#question'+qID+' .answer_cell_1_001 input.radio').hide();
		$('#question'+qID+' .answer_cell_1_001').append(newSelect);
	});
 
</script>

.

Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
Last Edit: 3 years 3 weeks ago by tpartner.
The following user(s) said Thank You: MikeConom

Please Log in to join the conversation.

More
3 years 3 weeks ago - 3 years 3 weeks ago #104203 by DenisChenu

tpartner wrote: To return the question ID for a dual scale array you need to use "{self.qid}" (no idea why).

Really strange this issue, {QID} must be allways replaced by the question QID (if use in a question). There are a bug here :).

MikeConom, please: can you report this bug to our bug tracker ?

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).
Last Edit: 3 years 3 weeks ago by DenisChenu. Reason: pleae => please

Please Log in to join the conversation.

More
3 years 3 weeks ago #104204 by MikeConom
very clever and with full mystery "{self.qid}"

ok Denis. ill report the bug

Tony thanks
this script working for the col and not for the cell.
how can i hide only the cell?
The following user(s) said Thank You: DenisChenu

Please Log in to join the conversation.

More
3 years 3 weeks ago #104212 by tpartner
Sorry, I don't understand the question.

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
3 years 3 weeks ago #104228 by MikeConom
Tony
Sorry for a short informations

i have attach an icon sample. When i execute the scripr
<script type="text/javascript" charset="utf-8">
 $(document).ready(function() {
   var qID = {self.qid};
   var newSelect1 = '<div id="insertedNo1"> \
      <input type="numeric-item text-item numberonly" title="" name="no1" /> \
      </div>';
   var newSelect2 = '<div id="insertedNo2"> \
      <input type="numeric-item text-item numberonly" title="" name="no2" /> \
      </div>';
 $('#question'+qID+' .answer_cell_1_001 input.radio').hide();
 $('#question'+qID+' .answer_cell_2_001 input.radio').hide();
 $('#question'+qID+' .answer_cell_1_001').append(newSelect1);
 $('#question'+qID+' .answer_cell_2_001').append(newSelect2);
});
</script>
the first col is hidden and also with my code and the fifth col.
if i want to hide only the first left cell as my red mark, is it possible?
Thanks
Attachments:

Please Log in to join the conversation.

More
3 years 3 weeks ago - 3 years 3 weeks ago #104230 by tpartner
Try this:

<script type="text/javascript" charset="utf-8">
	$(document).ready(function() {
		var qID = {self.qid};
		var newSelect1 = '<div id="insertedNo1"> \
					<input type="numeric-item text-item numberonly" title="" name="no1" /> \
				</div>';
		var newSelect2 = '<div id="insertedNo2"> \
					<input type="numeric-item text-item numberonly" title="" name="no2" /> \
				</div>';
		$('#question'+qID+' .answer_cell_1_001:first input.radio').hide();
		$('#question'+qID+' .answer_cell_2_001 input.radio').hide();
		$('#question'+qID+' .answer_cell_1_001:first').append(newSelect1);
		$('#question'+qID+' .answer_cell_2_001').append(newSelect2);
	});
</script>

.

Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
Last Edit: 3 years 3 weeks ago by tpartner.
The following user(s) said Thank You: MikeConom

Please Log in to join the conversation.

More
3 years 3 weeks ago #104235 by MikeConom
is it the same if i use the following?
$('#question'+qID+' .answer_cell_1_001:eq(1) input.radio').hide();
 $('#question'+qID+' .answer_cell_2_001 input.radio').hide();
 $('#question'+qID+' .answer_cell_1_001:eq(1)').append(newSelect1);
 $('#question'+qID+' .answer_cell_2_001').append(newSelect2);

Please Log in to join the conversation.

More
3 years 3 weeks ago #104237 by tpartner
No, for the first element it would be ":eq(0)" (indexes start at 0).


.

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.

Imprint                   Privacy policy         General Terms & Conditions         Revocation information and revocation form