Solved

jquery unchecked checkbox

Posted on 2011-09-02
14
716 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 82

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 82

Expert Comment

by:leakim971
ID: 36475560
Clear it
Rebuild it each click looping over all checkboxes not only the clicked
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
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 82

Accepted Solution

by:
leakim971 earned 500 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 82

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 82

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 82

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:gurvinder372
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: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

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

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article demonstrates how to create a simple responsive confirmation dialog with Ok and Cancel buttons using HTML, CSS, jQuery and Promises
The Windows functions GetTickCount and timeGetTime retrieve the number of milliseconds since the system was started. However, the value is stored in a DWORD, which means that it wraps around to zero every 49.7 days. This article shows how to solve t…
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …

730 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