Hi this is a jquery
question:
supposed i have this:
<input type="checkbox" class="select" id ="select-1">
<input type="checkbox" class="select" id ="select-2">
and i want to get the id, of the checkbox that has been selected when i click a submit button (note: you can only select 1) and i have this button click event here:
$("#submit").click(function(){
if($(".select").is(':checked')){
alert($(".select").attr('id'));
}
});
It always alerts "select-1" even if i select the checkbox with the "select-2" id.. I'm guessing since they're both in the same class the first one with the ".select" class to be found is displayed in the alert.. how do i get the specific id that is checked by using their class names? Thank You!
Are you only checking one checkbox at a time?
alert( $(".select:checked").attr('id') );
Or, if you have multiple checkboxes checked at once:
$(".select:checked").each(function(){
alert($(this).attr('id'));
});
Get ID using this way
$(".select:checked").attr('id');
Also keep in mind that if only one can be selected, it's better to change it to radio
.
You aren't capturing the checked checkbox, you're only asking "is there one checked?".
$("#submit").click(function(){
var elem = $(".select:checked");
if(elem.length > 0){
alert(elem.attr('id'));
}
});
$("#submit").click(function(){
if($(".select").is(':checked')){
var $this=$(".select").is(':checked');
alert($this.attr('id'));
}
});
There are multiple elements. You need to check for all checkbox having same class
$("#submit").click(function(){
$(".select:checked").each(function(){
alert($(this).attr('id'));
});
});
you should be using radio buttons and not checkboxes to allow one choice out of many.
<input type="radio" name="select" value="select-1">
<input type="radio" name="select" value="select-2">
then things will get really simple:
$("#submit").click(function(){
alert($('[name="select"]:checked').val());
});
try something like this, you don't need to iterate
$(document).ready(function () {
$("#submit").click(function(){
if($(".select").is(':checked')){
alert($(".select:checked").attr('id'));
}
});
});
Because you have not iterated all the elements which has class 'select'. It always goes to the first element and prints the result. Put a loop to iterate all elements having class 'select'.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.