Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
<script type="text/javascript">
if(jQuery){<script type="text/javascript">
if(jQuery){
	$j(document).ready(function(){
		if ( $j.browser.msie ) {
			$j(":checkbox").click(function(){
				$j(this).change();
			});
		}
		$j(".enableDisable").each(function(){
			var group = $j(this);
			function disableFn(){
				group.children("#disabled").fadeTo(250,0.33);
				group.children("#disabled").find(":checkbox").attr("checked",false);	//uncheck
				group.children("#disabled").find("input[type$='text']").val("");
				group.children("#disabled").find("input").attr("disabled",true); 		//disable
			}
			function enableFn(){
				group.children("#disabled").fadeTo(250,1);
				group.children("#disabled").find("input").attr("disabled",false);
			}
			disableFn();
			$j(this).children("#trigger").find(":checkbox:first").change(function(){
				var checked = $j(this).attr("checked");
				if(checked == true){
					 enableFn();
				}else{
					 disableFn();
				}
			});
		});


		$j(".checkboxGroup").each(function(){
			var group = $j(this);
			var uncheckAll = function(){
				group.find("input[type$='checkbox']").attr("checked",false);
				group.find("input[type$='checkbox']").change();
			}
			var uncheckRadioAndAll = function(){
				group.find("#checkboxAll,#checkboxRadio").find("input[type$='checkbox']").attr("checked",false);
				group.find("#checkboxAll,#checkboxRadio").find("input[type$='checkbox']").change();
			}



			group.find("#checkboxAll").find("input").click(
				/* 		This was tricky... A number of things needed to happen
						Basically, This is supposed to treat a group of inputs as if
						were all one big checkbox. It is designed so that a checkbox
						can be next to an input, and the user clicks the input, the
						checkbox checks as well. But, when the user clicks the checkbox,
						the browser marks the checkbox as checked. Therefore, when we check
						if the checkbox is already checked, it always respondes true...
						We needed to have 2 cases: when the clicking action is on the first checkbox
						and when the action is on any other.	 */
				function(){
					var flip;
					var checked = $j(this).siblings(":checkbox:first").attr("checked");
					if($j(this).attr("name") == $j(this).parents("#checkboxAll:first").find(":checkbox:first").attr("name")){
						checked = $j(this).attr("checked");
						flip = checked;
					}else{
						flip = !checked;
					}
					if($j(this).attr("type") == "text") if(flip == false) flip = !filp; // this is so the user doesn't go to check the checkbox, then uncheck it when they hit the input.
					uncheckAll();
					$j(this).parents("#checkboxAll:first").find(":checkbox").attr("checked",flip);
					$j(this).parents("#checkboxAll:first").find(":checkbox").change();
				}
			);



			group.find("#checkboxRadio").find("input[type$='checkbox']").click(function(){
				uncheckAll();
				$j(this).siblings("input[type$='checkbox']").attr("checked",false);
				$j(this).attr("checked",true);
				$j(this).change();
			});

			group.find("#checkboxCheckbox").click(
				function(){
					uncheckRadioAndAll();
				}
			);
		});
	});
}
</script>
 $j(document).ready(function(){
 if ( $j.browser.msie ) {
 $j(":checkbox").click(function(){
 $j(this).change();
 });
 }
 $j(".enableDisable").each(function(){
 var group = $j(this);
 function disableFn(){
 group.children("#disabled").fadeTo(250,0.33);
 group.children("#disabled").find(":checkbox").attr("checked",false); //uncheck
 group.children("#disabled").find("input[type$='text']").val("");
 group.children("#disabled").find("input").attr("disabled",true);  //disable
 }
 function enableFn(){
 group.children("#disabled").fadeTo(250,1);
 group.children("#disabled").find("input").attr("disabled",false);
 }
 disableFn();
 $j(this).children("#trigger").find(":checkbox:first").change(function(){
 var checked = $j(this).attr("checked");
 if(checked == true){
  enableFn();
 }else{
  disableFn();
 }
 });
 });


 $j(".checkboxGroup").each(function(){
 var group = $j(this);
 var uncheckAll = function(){
 group.find("input[type$='checkbox']").attr("checked",false);
 group.find("input[type$='checkbox']").change();
 }
 var uncheckRadioAndAll = function(){
 group.find("#checkboxAll,#checkboxRadio").find("input[type$='checkbox']").attr("checked",false);
 group.find("#checkboxAll,#checkboxRadio").find("input[type$='checkbox']").change();
 }



 group.find("#checkboxAll").find("input").click(
 /*  This was tricky... A number of things needed to happen
 Basically, This is supposed to treat a group of inputs as if
 were all one big checkbox. It is designed so that a checkbox
 can be next to an input, and the user clicks the input, the
 checkbox checks as well. But, when the user clicks the checkbox,
 the browser marks the checkbox as checked. Therefore, when we check
 if the checkbox is already checked, it always respondes true...
 We needed to have 2 cases: when the clicking action is on the first checkbox
 and when the action is on any other.  */
 function(){
 var flip;
 var checked = $j(this).siblings(":checkbox:first").attr("checked");
 if($j(this).attr("name") == $j(this).parents("#checkboxAll:first").find(":checkbox:first").attr("name")){
 checked = $j(this).attr("checked");
 flip = checked;
 }else{
 flip = !checked;
 }
 if($j(this).attr("type") == "text") if(flip == false) flip = !filp; // this is so the user doesn't go to check the checkbox, then uncheck it when they hit the input.
 uncheckAll();
 $j(this).parents("#checkboxAll:first").find(":checkbox").attr("checked",flip);
 $j(this).parents("#checkboxAll:first").find(":checkbox").change();
 }
 );



 group.find("#checkboxRadio").find("input[type$='checkbox']").click(function(){
 uncheckAll();
 $j(this).siblings("input[type$='checkbox']").attr("checked",false);
 $j(this).attr("checked",true);
 $j(this).change();
 });

 group.find("#checkboxCheckbox").click(
 function(){
 uncheckRadioAndAll();
 }
 );
 });
 });
}
</script>

...