[Last Call] Learn about multicloud storage options and how to improve your company's cloud strategy. Register Now

x
?
Solved

check multiple checkbox checked using array values

Posted on 2011-03-24
8
Medium Priority
?
718 Views
Last Modified: 2012-05-11
hi
below is the code for multiple checkbox, which is working perfectly the way i want.. like if you select doesnt matter other check box gets unchecked... and when you check other checkboxes doesnt matter checkbox gets unchecked... so its like doesnt matter v/s other checkbox... this is just explanation of my code...
Now what new is i want...

I have the edit page.. where i fetch the values from database.. for marital status which is having 4-5 checkbox.. its  values are coming in the form of array... like

Doesnt matter, Never Married, Divorced
So my question is how do i check the respective checkboxes based on the value i fetch from database and matching it with checkbox.. and only problem i have is my values for all checkboxes are coming  ..separated by comma... so how to split and do the task...
below is the current code..

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
var clearTextWhenOtherSelected = true;
function list(c,n,z)
{
  if(clearTextWhenOtherSelected)
  {
    document.getElementById('data_marital_part').value = '';
    clearTextWhenOtherSelected = false;
  }
  s=document.InstantSMS1.maritalstatusdata.value;
  if(c.checked)
  {
    if(s.indexOf(n)<0) s+=','+n;
  }
  else
  {
    s=document.InstantSMS1.maritalstatusdata.value.replace(','+n,'');
  }
  z=",";

  if (s.substring(2) == z) s=s.substring(2);
    document.InstantSMS1.maritalstatusdata.value=s;
}


function txtrep() {
var newtext = "Second text here";
document.getElementById('data_marital_part').value = newtext;
clearTextWhenOtherSelected = true;

}
</script>
</head>
<body>
<form name="InstantSMS1">
<h1>Marital Status :</h1><br />
<input name="mStatus" type="checkbox" id="doesntmatter" value="Doesn't Matter" onclick="r=document.getElementsByName('mStatus');for(var i=0;i<r.length;i++) if(r[i]!=this)r[i].checked=r[i].checked&&!this.checked;list(this,'Do Not Matter');txtrep()" />Doesn't Matter<br />
<input name="mStatus" type="checkbox" value="Never Married" onclick="if(this.checked) document.getElementsByName('mStatus')[0].checked=false;list(this,'Never Married');" />Never Married<br /> 
<input name="mStatus" type="checkbox" value="Divorced" onclick="if(this.checked) document.getElementsByName('mStatus')[0].checked=false;list(this,'Divorced');" />Divorced<br /> 
<input name="mStatus" type="checkbox" value="Widowed" onclick="if(this.checked) document.getElementsByName('mStatus')[0].checked=false;list(this,'Widowed');" />Widowed<br /> 
<input name="mStatus" type="checkbox" value="Separated" onclick="if(this.checked) document.getElementsByName('mStatus')[0].checked=false;list(this,'Separated');" />Separated<br /> 
<input name="mStatus" type="checkbox" value="Annulled" onclick="if(this.checked) document.getElementsByName('mStatus')[0].checked=false;list(this,'Annulled');" />Annulled<br /> 
<br />
<br />
<input type="text" name="maritalstatusdata" id="data_marital_part" value="" />
</form>
</body>
</html>

Open in new window


Thanks
0
Comment
Question by:global_expert_advice
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
8 Comments
 
LVL 40

Accepted Solution

by:
Richard Quadling earned 1500 total points
ID: 35211010
Why are you using a checkbox rather than a radio group?

Checkboxes are normally for discrete/unconnected elements.

e.g.

[ ] Do you want $1,00,000?
[ ] Do you eat dogs?

Radio groups are for things like...

Marital Status
(*) Doesn't matter
( ) Never married
( ) Divorced
( ) Widowed
( ) Separated
( ) Annulled
( ) Living in sin and happy as a pig in shit!

For a radio button to be in a "group", the name must be the same.


Try this code as an example. Just save it as form.html and load it - even from your local drive - no web server required.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Checkbox's vs Radio Groups</title>
</head>
<body>
<form method="get">
<form name="InstantSMS1">
<input name="likes[money]" type="checkbox" id="money" value="1" /> Do you like $1,000,000?<br />
<input name="likes[dogs]" type="checkbox" id="dogs" value="1" /> Do you eat dogs?<br />

<input name="maritalStatus" type="radio" id="ms1" value="Doesn't Matter" checked="checked" /> Doesn't Matter<br />
<input name="maritalStatus" type="radio" id="ms2" value="Never married" /> Never married<br />
<input name="maritalStatus" type="radio" id="ms3" value="Divorced" /> Divorced<br />
<input name="maritalStatus" type="radio" id="ms4" value="Widowed" /> Widowed<br />
<input name="maritalStatus" type="radio" id="ms5" value="Separated" /> Separated<br />
<input name="maritalStatus" type="radio" id="ms6" value="Annulled" /> Annulled<br />
<input name="maritalStatus" type="radio" id="ms7" value="Living in sin and happy as a pig in shit!" /> Living in sin and happy as a pig in shit!<br />

<input type="submit" />
</form>
If you fill the form in, and click submit, you'll see something like this on the URL.<br />
<pre>?likes%5Bdogs%5D=1&maritalStatus=Never+married</pre><br />
If you are using PHP, then your $_GET would looke like ... <br />
<pre>$_GET['likes']['dogs'] = 1
$_GET['maritalStatus'] = 'Never married'</pre>
</body>
</html>

Open in new window

0
 
LVL 1

Author Comment

by:global_expert_advice
ID: 35211048
hi
radio button is not required... as i want to pass the checkbox values using concatenating to string format... like ,2,3,4,5

also my question is how to make the checkbox checked by matching its value with the string value... it can be matched and done.. if the fetching value is single... like 2 but values are 2,3,4,5
so if checkbox value is 3 ... and if it matched with fetched value... it should be checked...
0
 
LVL 17

Expert Comment

by:Shinesh Premrajan
ID: 35229374
Possibility here it depends upon how are you getting the data from the database, I mean the server end and how you are handling it.

I suggest implementing it using the server technology rather then at the client side, a easy approach. I its agreeable then pls mention the server technology you are using.
0
Independent Software Vendors: 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 1

Author Comment

by:global_expert_advice
ID: 36420452
I've requested that this question be deleted for the following reason:

no specific answer, i solved it myself thanks
0
 
LVL 1

Author Comment

by:global_expert_advice
ID: 36504600
hi

my question was realed to javascript function for checking and unchecking with few options, but the expert comments where not specific, infact i provided full coding too but they didnt able to understand and  may i m not able to explain things. Thats the reason i asked to  close this question
0
 
LVL 1

Author Closing Comment

by:global_expert_advice
ID: 36504761
thanks
0

Featured Post

Enroll in October's Free Course of the Month

Do you work with and analyze data? Enroll in October's Course of the Month for 7+ hours of SQL training, allowing you to quickly and efficiently store or retrieve data. It's free for Premium Members, Team Accounts, and Qualified Experts!

Question has a verified solution.

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

This article discusses how to create an extensible mechanism for linked drop downs.
This article explains how to prepare an HTML email signature template file containing dynamic placeholders for users' Azure AD data. Furthermore, it explains how to use this file to remotely set up a department-wide email signature policy in Office …
In this Micro Tutorial viewers will learn how to create navigation buttons that change on rollover, using CSS (Continuation of the CSS Image Sprite tutorial) Create a parent ID for all the list items       - Specify position: absolute and display: block…
In this tutorial viewers will learn how to embed an audio file in a webpage using HTML5. Ensure your DOCTYPE declaration is set to HTML5: : The declaration should display (CODE) HTML5 is supported by the most recent versions of all major browsers…
Suggested Courses

650 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