Improve company productivity with a Business Account.Sign Up

x
?
Solved

jquery unchecked checkbox

Posted on 2011-09-02
14
Medium Priority
?
756 Views
Last Modified: 2012-05-12
I have a list of checkboxes. Upon clicking on each of the checkboxes i am adding the value to the hidden variable. But the question is if I want to remove the value from the list upon unchecking the checkbox . How this piece cab be done

here is the hidden form variable<input name="IDList[]" type="hidden" id="IDList" value="" /> and the jquery $(".myCheckboxClass").change(function() { var output = 0; $(".myCheckboxClass").change(function() {       if( $(this).is(":checked") ) { output += ", " + $(this).val();       }else {       output = $.grep(output, function(value) {       return value != $(this).val();       });       }       $("#IDList").val(output ); })
0
Comment
Question by:erikTsomik
  • 7
  • 6
14 Comments
 
LVL 83

Expert Comment

by:leakim971
ID: 36475538
Recreate the list each time instead adding/removing element. If one of the checkboxes change (your current selector), loop over all elements (samedi selector) check if checked or unchecked and add to the list only if checked
0
 
LVL 19

Author Comment

by:erikTsomik
ID: 36475549
well i did figure out how to add it but how to remove it from there  
0
 
LVL 83

Expert Comment

by:leakim971
ID: 36475560
Clear it
Rebuild it each click looping over all checkboxes not only the clicked
0
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
LVL 19

Author Comment

by:erikTsomik
ID: 36475880
can you provie the piece of code for it . here is my code the way I am adding values to the list.
 var output = 0;
 if( $(this).is(":checked") ) {
    output += ", " + $(this).val();
                                                                        
                                                                        
 }else {      
      delete output[$(this).val()];                                                                        }                                     
                                                                     $("#IDList").val(output );
0
 
LVL 19

Author Comment

by:erikTsomik
ID: 36476149
I just chnage my delete
 to this
      var getList = $("#bodyIDList").val();
                                                                              $.each( getList, function(intIndex,objValue) {
                                                                                    alert(objValue);
                                                                              }
                                                                              
                                                                              )

And When i do the alert my alert  show each individual items separately li ke 1 2 all comma and so on
0
 
LVL 83

Accepted Solution

by:
leakim971 earned 2000 total points
ID: 36477852
check this :
	$(".myCheckboxClass").change(function() {
		var output = []; // clear it
		$(".myCheckboxClass").each(function(i, el) {
			if( $(this).is(":checked") ) {
				output.push( $(this).val() );
			}
		})
		output.join(","); // add the comma and build the string 
		$("#IDList").val(output);
	})

Open in new window

0
 
LVL 19

Author Comment

by:erikTsomik
ID: 36477916
will this take care of unchecking the checkbox and removing item from the list
0
 
LVL 83

Expert Comment

by:leakim971
ID: 36478141
try it and please confirm it run fine for you
0
 
LVL 19

Author Comment

by:erikTsomik
ID: 36478824
Unfortunately , it does not run fine , it adding extra values , and when i uncheck it also adding values rather than removing them. It create a copy of the previously selected elements . I thing we do not need each loop there
0
 
LVL 83

Expert Comment

by:leakim971
ID: 36479024
as you can see we have a << if( $(this).is(":checked") ) { >>
mean we rebuild each time the string only with checked value
line 2 reset the string : var output = []; // clear it
0
 
LVL 19

Author Comment

by:erikTsomik
ID: 36479369
in my login it will reset every time  i am searching for a new name so it has to be outside
0
 
LVL 83

Expert Comment

by:leakim971
ID: 36480441
>in my login it will reset every time  i am searching for a new name so it has to be outside

sorry I ddon't understand
0
 
LVL 19

Author Comment

by:erikTsomik
ID: 36481884
can you tell me how can I do accomplish my logic here. Thank you in advance
0
 
LVL 40

Expert Comment

by:Gurvinder Pal Singh
ID: 36500695
I guess this was your first question on the same problem on which you now have three open question now :)

http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/Q_27291333.html
#36493631

Let me know if anything is pending.

@leakim971 gave the answer first so he deserves the points here
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

This article will show, step by step, how to integrate R code into a R Sweave document
In this blog, we’ll look at how improvements to Percona XtraDB Cluster improved IST performance.
Learn how to match and substitute tagged data using PHP regular expressions. Demonstrated on Windows 7, but also applies to other operating systems. Demonstrated technique applies to PHP (all versions) and Firefox, but very similar techniques will w…
In a recent question (https://www.experts-exchange.com/questions/29004105/Run-AutoHotkey-script-directly-from-Notepad.html) here at Experts Exchange, a member asked how to run an AutoHotkey script (.AHK) directly from Notepad++ (aka NPP). This video…

595 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question