Need to split check boxes into two columns

anatara
Giga Contributor

Hi All,

I have to create a variable with 8 choices in the type of check boxes. I used container start,split and end but still im not meeting my requirement. After split variable.Option default Label is visible in the top of choice list.I need to remove on this default Option Labels.

Please help me.... Thanks in advance...

chekboxes.jpg

1 ACCEPTED SOLUTION

Valentina6
Giga Guru

Hi!


I don't know why, but the 'options' label doesn't appear with a variable set. Put the label, checkboxes and containers in a variable set:



Cattura.PNG



Best Regards,


Valentina


View solution in original post

13 REPLIES 13

nicksoltis
Kilo Expert

Hi there,

 

I am having the same issue. I have a list of checkboxes grouped by a label and set to mandatory. There are a lot of options (checkbox variables) so to save space on the form I added a container split to the middle of them. This has divided them up fine, however the mandatory only applies to the first row. I understand why this is doing it. Is there anyway to split them and keep the mandatory consistent?

P.S. I have tried it in a variable set with the same result.

 

Thanks!

nicksoltis
Kilo Expert

I have tried this with the Variable Set method and I am still seeing the same results. I am working in London Version. Has anyone gotten this to work in London?

I got mine to work in Madrid:

 

find_real_file.png

 

All I had to do was a little DOM manipulation via creating a widget:

CLIENT SCRIPT:

function($scope, $timeout) {
	var counter = 0;
	var fnd = false;
	$scope.f_init = function() {
		if (++counter >= 100) {
			console.warn("counter limit reached");
			return;
		}
		$timeout(function() {
			var div = document.getElementById('accessOption_standardAccess').parentNode;
			if (div) {
				if (div.getAttribute('ng-repeat') == 'column in container.columns') {
					var tbl = document.createElement('table');
					fnd = true;
					var i = 0;
					var container = [];
					for (i = 0; i < div.children.length; i++) {
						if (div.children[i].nodeName == "DIV") {
							container.push(div.children[i]);
						}
					}
					for (i = 0; i < container.length; i++) {
						if (i % 2 === 0) {
							var tr = document.createElement('tr');
							var td1 = document.createElement('td');
							var td2 = document.createElement('td');
							td1.style.paddingLeft = "10px";
							td2.style.paddingLeft = "50px";
							tr.appendChild(td1);
							tr.appendChild(td2);
							tbl.appendChild(tr);
							td1.appendChild(container[i]);
							if (container[i+1])
								td2.appendChild(container[i+1]);
						}
					}
					div.appendChild(tbl);
				}
			}
			if (!fnd) {
				$scope.f_init();
			}
		}, 100);
	};
}

HTML:

<span ng-init="f_init()"></span>

Hi Nick,

 

I am trying to do exactly what you are.  Did you managed to find a solution?