0

I want to know, why when I can select the two image and not only one. (is an image instead radio button). For example if you try to select the 2 images these appears selected but I want the possibility to select only one of them.

Look at the jsFiddle or look at the Snippet below:

* {
    margin: 0;
    padding: 0;
}
.main {
    position: relative;
    z-index: 10;
    padding-top: 60px;
    color: #999;
    width: 100%;
    min-height: calc(100vh - 60px);
}
.wrap{position:relative}
.wrap{width:100%;margin:0 auto;max-width:1024px;padding:0 16px}
.write {
    position: relative;
    max-width: 690px;
    padding: 40px 16px 70px;
}
.write-gender{
    text-align: center;
}
.write-gender {
    display: inline-block;
    width: 128px;
    height: 128px;
    margin: 0 10px;
    border: 5px solid transparent;
    border-radius: 100%;
}
.form__label, h6 {
    font-weight: 500;
    font-size: 14px;
    text-transform: uppercase;
}
.form__label, h4, h6 {
    line-height: 1.2em;
    margin-bottom: 20px;
}
h6 {
    display: block;
    font-size: 0.67em;
    -webkit-margin-before: 2.33em;
    -webkit-margin-after: 2.33em;
    -webkit-margin-start: 0px;
    -webkit-margin-end: 0px;
    font-weight: bold;
}
.write-title {
    text-align: center;
    margin-top: 18px;
    font-size: 13px;
    margin-bottom: 60px;
	position: relative;
    left: 235px;
}
.gender-selector input{
    -webkit-appearance:none;
    -moz-appearance:button;
    appearance:button;
    margin:0;
    padding:0;
}
.man{
    background-image:url(https://cdn1.iconfinder.com/data/icons/user-pictures/100/male3-512.png);
	border-color: #1f6ab0;
    position: relative;
    left: 400px;
    bottom: 80px;
	display: block;
    max-width: 100%;
}

.gender-selector:not(input:checked) input:active +.gen-sel{
    opacity: .6;
}

.gender-selector input:checked +.gen-sel{
    -webkit-filter: none;
    -moz-filter: none;
    filter: none;
}

.women{
    background-image:url(https://cdn1.iconfinder.com/data/icons/user-pictures/100/female1-512.png);
	border-color: #b24592;
    position: relative;
    left: 60px;
    top: 3px;
	display: block;
    max-width: 100%;
}

.gen-sel{
    cursor:pointer;
    display:inline-block;
    width:100px;
    height:70px;
    background-size:contain;
    background-repeat:no-repeat;
     -webkit-filter: brightness(1.8) grayscale(1) opacity(.7);
    -moz-filter: brightness(1.8) grayscale(1) opacity(.7);
    filter: brightness(1.8) grayscale(1) opacity(.7);
}
.gen-sel:hover{
    -webkit-filter: brightness(1.2) grayscale(.5) opacity(.9);
    -moz-filter:  brightness(1.2) grayscale(.5) opacity(.9);
    filter:  brightness(1.2) grayscale(.5) opacity(.9);
}
<main class="main ">
<div>
<div class="wrap write">	
<div class="write-gender">
<h6 class="write-title">Select gender</h6>
	<div class="gender-selector">
        <input id="gender" type="radio" name="gender" value="w" />
        <label class="gen-sel write-gender women" for="gender"></label>
        <input id="gender2" type="radio" name="gender2" value="m" />
        <label class="gen-sel write-gender man"for="gender2"></label>
    </div>
</div>
</div>
</div>
</main>

Also I want to know other things:- I have created a database to store these information. The id is "gender", and in the html code in the input I have called one input with id --> gender and the other input with id --> gender2 on my PHP code I have match the id gender2 with the id gender by usign this --> " $gender2 =& $gender; " Is Right ?

4 Answers 4

1

Use same name attribute - gender if you are using radio buttons, like:

<div class="gender-selector">
  <input id="gender" type="radio" name="gender" value="w" />
  <label class="gen-sel write-gender women" for="gender"></label>
  <input id="gender2" type="radio" name="gender" value="m" />
  <label class="gen-sel write-gender man"for="gender2"></label>
</div>

Have a look at the snippet below, or the updated fiddle.

* {
    margin: 0;
    padding: 0;
}
.main {
    position: relative;
    z-index: 10;
    padding-top: 60px;
    color: #999;
    width: 100%;
    min-height: calc(100vh - 60px);
}
.wrap{position:relative}
.wrap{width:100%;margin:0 auto;max-width:1024px;padding:0 16px}
.write {
    position: relative;
    max-width: 690px;
    padding: 40px 16px 70px;
}
.write-gender{
    text-align: center;
}
.write-gender {
    display: inline-block;
    width: 128px;
    height: 128px;
    margin: 0 10px;
    border: 5px solid transparent;
    border-radius: 100%;
}
.form__label, h6 {
    font-weight: 500;
    font-size: 14px;
    text-transform: uppercase;
}
.form__label, h4, h6 {
    line-height: 1.2em;
    margin-bottom: 20px;
}
h6 {
    display: block;
    font-size: 0.67em;
    -webkit-margin-before: 2.33em;
    -webkit-margin-after: 2.33em;
    -webkit-margin-start: 0px;
    -webkit-margin-end: 0px;
    font-weight: bold;
}
.write-title {
    text-align: center;
    margin-top: 18px;
    font-size: 13px;
    margin-bottom: 60px;
	position: relative;
    left: 235px;
}
.gender-selector input{
    -webkit-appearance:none;
    -moz-appearance:button;
    appearance:button;
    margin:0;
    padding:0;
}
.man{
    background-image:url(https://cdn1.iconfinder.com/data/icons/user-pictures/100/male3-512.png);
	border-color: #1f6ab0;
    position: relative;
    left: 400px;
    bottom: 80px;
	display: block;
    max-width: 100%;
}

.gender-selector:not(input:checked) input:active +.gen-sel{
    opacity: .6;
}

.gender-selector input:checked +.gen-sel{
    -webkit-filter: none;
    -moz-filter: none;
    filter: none;
}

.women{
    background-image:url(https://cdn1.iconfinder.com/data/icons/user-pictures/100/female1-512.png);
	border-color: #b24592;
    position: relative;
    left: 60px;
    top: 3px;
	display: block;
    max-width: 100%;
}

.gen-sel{
    cursor:pointer;
    display:inline-block;
    width:100px;
    height:70px;
    background-size:contain;
    background-repeat:no-repeat;
     -webkit-filter: brightness(1.8) grayscale(1) opacity(.7);
    -moz-filter: brightness(1.8) grayscale(1) opacity(.7);
    filter: brightness(1.8) grayscale(1) opacity(.7);
}
.gen-sel:hover{
    -webkit-filter: brightness(1.2) grayscale(.5) opacity(.9);
    -moz-filter:  brightness(1.2) grayscale(.5) opacity(.9);
    filter:  brightness(1.2) grayscale(.5) opacity(.9);
}
<main class="main ">
<div>
<div class="wrap write">	
<div class="write-gender">
<h6 class="write-title">Select gender</h6>
	<div class="gender-selector">
        <input id="gender" type="radio" name="gender" value="w" />
        <label class="gen-sel write-gender women" for="gender"></label>
        <input id="gender2" type="radio" name="gender" value="m" />
        <label class="gen-sel write-gender man"for="gender2"></label>
    </div>
</div>
</div>
</div>
</main>

Hope this helps!

Sign up to request clarification or add additional context in comments.

Comments

1

your checkboxes need to have the same name attribute

<input id="gender" type="radio" name="gender" value="w" />
<label class="gen-sel write-gender women" for="gender"></label>
<input id="gender2" type="radio" name="gender" value="m" />
<label class="gen-sel write-gender man"for="gender2"></label>

Comments

0

Answer to first question: Grouped radiobuttons must have the same name, so just change the second radiobutton to:

<input id="gender2" type="radio" name="gender" value="m" />

Second question: I have no idea what you are asking. Please provide more information or code.

Comments

0

try this code...This will work perfectly for you..

<main class="main ">
<div>
<div class="wrap write">    
<div class="write-gender">
<h6 class="write-title">Select gender</h6>
<div class="gender-selector">
<input id="gender" type="radio" name="gender" value="w" />
<label class="gen-sel write-gender women" for="gender"></label>
<input id="gender2" type="radio" name="gender" value="m" />
<label class="gen-sel write-gender man"for="gender2"></label>
</div>
</div>
</div>
</div>
</main>

the name for the input type radio must be same.input type radio-w3schools

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.