[英]Radio button value undefined
I have the following radio buttons, 我有以下单选按钮,
PHP Code: PHP代码:
<form class="small-box-footer" style="text-align:left;padding:10px;" method="post" name="nameHere">
<?php
$query = "SELECT * FROM subject";
$result = mysql_query($query);
while ($row39 = mysql_fetch_array($result)) {
$Referrer_ID = $row39['Subject_ID'];
$Referrer_Name = $row39['Subject_Name'];
?>
<input type="radio" class="subject-selected" name="subject" value="<?=$Referrer_ID?>"> <?=$Referrer_Name?><?=$Referrer_ID?><br />
<?php } ?>
</form>
HTML generated: 生成的HTML:
<input type="radio" class="subject-selected" name="subject" value="2"> GCSE Maths2<br />
<input type="radio" class="subject-selected" name="subject" value="3"> GCSE English3<br />
<input type="radio" class="subject-selected" name="subject" value="4"> GCSE Science4<br />
<input type="radio" class="subject-selected" name="subject" value="5"> GCSE Art5<br />
<input type="radio" class="subject-selected" name="subject" value="6"> GCSE Sociology6<br />
<input type="radio" class="subject-selected" name="subject" value="8"> OCR Nationals ICT8<br />
<input type="radio" class="subject-selected" name="subject" value="9"> OCR Nationals Sports9<br />
<input type="radio" class="subject-selected" name="subject" value="10"> OCR Nationals Business Studies10<br />
<input type="radio" class="subject-selected" name="subject" value="11"> Entry Science11<br />
<input type="radio" class="subject-selected" name="subject" value="12"> Functional Skills English12<br />
<input type="radio" class="subject-selected" name="subject" value="13"> Functional Skills Maths13<br />
<input type="radio" class="subject-selected" name="subject" value="14"> ESOL14<br />
<input type="radio" class="subject-selected" name="subject" value="15"> Preparation for Working Life15<br />
</form>
Below is the JavaScript 以下是JavaScript
$( ".centre-selection" ).each(function() {
if ($('input.subject-selected').is(':checked'))
alert($('input[name=subject]:selected').val());
//$( this ).attr( 'href', '?module=<?=$_REQUEST['module']?>&Subject='+ $( this ).attr('data-subject')+ '&Centre_Selected_ID='+ $( this ).attr('data-centre')+ '&Class_Selected_Year='+ $( this ).attr('data-year')+ '&Class_Selected_All='+ $( this ).attr('data-all-centre')+ '&StartDate='+ $( this ).attr('report_date_start')+ '&EndDate='+ $( this ).attr('data-attendance-check-end'));
$( this ).attr( "href", '?module=module_progress_report&Subject='+ $('input[name=subject]:selected').val()+ '&Centre_Selected_ID='+ encodeURIComponent($( this ).attr('data-centre')) + '&Class_Selected_Year='+ encodeURIComponent($( this ).attr('data-year')) + '&Class_Selected_All='+ encodeURIComponent($( this ).attr('data-all-centre')) +'&StartDate='+$('#report_date_start').val()+'&EndDate=18/12/2016');
} );
Problem: 问题:
$('input[name=subject]:selected').val()
does not pick up the value of the radio button. $('input[name=subject]:selected').val()
不会获取单选按钮的值。 It shows result undefined
. 它显示结果
undefined
。 I also tried method 1 and method 2 but both the results are undefined. 我也尝试了方法1和方法2,但结果均未定义。
I updated my JavaScript and now it looks like, 我更新了JavaScript,现在看起来像这样,
$( document ).ready(function() {
$('.subject-selected').change(function(){
// $("#centre-class-menu").toggle();
$("#alert").toggle();
$("#centre").toggle();
$(".range").toggle();
});
var value;
$(".subject-selected").change(function() {//changed the class to correct class selector
if ($(this).is(':checked')) {//use $(this).is(':checked')
console.log($(this).val());
value = $(this).val();
console.log(value);
}
});
$( ".centre-selection" ).each(function() {
//$( this ).attr( 'href', '?module=<?=$_REQUEST['module']?>&Subject='+ $( this ).attr('data-subject')+ '&Centre_Selected_ID='+ $( this ).attr('data-centre')+ '&Class_Selected_Year='+ $( this ).attr('data-year')+ '&Class_Selected_All='+ $( this ).attr('data-all-centre')+ '&StartDate='+ $( this ).attr('report_date_start')+ '&EndDate='+ $( this ).attr('data-attendance-check-end'));
$( this ).attr( "href", '?module=module_progress_report&Subject='+value+ '&Centre_Selected_ID='+ encodeURIComponent($( this ).attr('data-centre')) + '&Class_Selected_Year='+ encodeURIComponent($( this ).attr('data-year')) + '&Class_Selected_All='+ encodeURIComponent($( this ).attr('data-all-centre')) +'&StartDate='+$('#report_date_start').val()+'&EndDate=18/12/2016');
} );
});
I see nothing displayed on console and value send is undefined. 我在控制台上看不到任何内容,并且未定义值发送。
$(".subject-selected").change(function() {//changed the class to correct class selector if ($(this).is(':checked')) {//use $(this).is(':checked') console.log($(this).val()); } });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input type="radio" class="subject-selected" name="subject" value="2">GCSE Maths2 <br /> <input type="radio" class="subject-selected" name="subject" value="3">GCSE English3 <br /> <input type="radio" class="subject-selected" name="subject" value="4">GCSE Science4 <br /> <input type="radio" class="subject-selected" name="subject" value="5">GCSE Art5 <br /> <input type="radio" class="subject-selected" name="subject" value="6">GCSE Sociology6 <br /> <input type="radio" class="subject-selected" name="subject" value="8">OCR Nationals ICT8 <br /> <input type="radio" class="subject-selected" name="subject" value="9">OCR Nationals Sports9 <br /> <input type="radio" class="subject-selected" name="subject" value="10">OCR Nationals Business Studies10 <br /> <input type="radio" class="subject-selected" name="subject" value="11">Entry Science11 <br /> <input type="radio" class="subject-selected" name="subject" value="12">Functional Skills English12 <br /> <input type="radio" class="subject-selected" name="subject" value="13">Functional Skills Maths13 <br /> <input type="radio" class="subject-selected" name="subject" value="14">ESOL14 <br /> <input type="radio" class="subject-selected" name="subject" value="15">Preparation for Working Life15 <br />
$(this).is(':checked')
to check if checked $(this).is(':checked')
检查是否选中 I think you are missing the quote:" or ' in your example: $('input[name="subject"] :selected').val() 我认为您在示例中缺少引号:“或':$('input [name =” subject“]:selected')。val()
https://api.jquery.com/attribute-equals-selector/ https://api.jquery.com/attribute-equals-selector/
Please try this 请尝试这个
$( document ).ready(function() { $(".subject-selected").change(function() { if ($(this).is(':checked')) { alert($(this).val()); } }); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input type="radio" class="subject-selected" name="subject" value="2">GCSE Maths2 <br /> <input type="radio" class="subject-selected" name="subject" value="3">GCSE English3 <br /> <input type="radio" class="subject-selected" name="subject" value="4">GCSE Science4 <br /> <input type="radio" class="subject-selected" name="subject" value="5">GCSE Art5 <br /> <input type="radio" class="subject-selected" name="subject" value="6">GCSE Sociology6 <br /> <input type="radio" class="subject-selected" name="subject" value="8">OCR Nationals ICT8 <br /> <input type="radio" class="subject-selected" name="subject" value="9">OCR Nationals Sports9 <br /> <input type="radio" class="subject-selected" name="subject" value="10">OCR Nationals Business Studies10 <br /> <input type="radio" class="subject-selected" name="subject" value="11">Entry Science11 <br /> <input type="radio" class="subject-selected" name="subject" value="12">Functional Skills English12 <br /> <input type="radio" class="subject-selected" name="subject" value="13">Functional Skills Maths13 <br /> <input type="radio" class="subject-selected" name="subject" value="14">ESOL14 <br /> <input type="radio" class="subject-selected" name="subject" value="15">Preparation for Working Life15 <br />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.