php中的for
循环如下所示:
for ($i=1;$i<=10;$i++) {
?>
<input type="hidden" class="ThisQuestion" id="GetQuestion-<?php echo $i; ?>" value="<?php echo $i; ?>" />
<a href="javascript:void(0)" class="VerySmallFont">
<div class="SelectNumberBox <?php echo $NumberBoxClass; ?>"><?php echo $i; ?></div>
</a>
现在我想从php中提取$i
的值到Jquery。以下是我在JS部分所做的事情 -
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$(".VerySmallFont").click(function(){
var $Parent = $(this).parent();
var ThisQuestionNumber = $Parent.find('[id^="GetQuestion-]:first').val();
var TestID = $("#GetTestID").val();
var ShowCQ = '1';
$.ajax( {
type : 'GET',
url:'getquestiondata.php',
data : {TestID: TestID, ShowCQ: ShowCQ, ThisQuestionNumber: ThisQuestionNumber},
success:function(data) {
$("#LoadingImage").hide();
$('#ShowQuestion').html(data);
}
});
});
});
</script>
我没有在我的JS中获得var ThisQuestion
的值。我也尝试使用课程ThisQuestion
而不是ID选择器GetQuestion
,但这也不起作用。我不确定我所犯的错误是什么。
答案 0 :(得分:1)
看着你的标记后,你似乎指的是错误的元素。在你的jquery中,你指向父母。你应该指出以前的兄弟是隐藏的输入。
var hidden = $(this).prev(); // point the input
var ThisQuestionNumber = hidden.val();
全:
<?php
for ($i=1;$i<=10;$i++) {
?>
<input type="hidden" class="ThisQuestion" id="GetQuestion-<?php echo $i; ?>" value="<?php echo $i; ?>" />
<a href="javascript:void(0)" class="VerySmallFont">
<div class="SelectNumberBox <?php echo $NumberBoxClass; ?>"><?php echo $i; ?></div>
</a>
<?php } ?>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$(".VerySmallFont").click(function(){
var hidden = $(this).prev();
var ThisQuestionNumber = hidden.val(); // point to the previous sibling
var TestID = $("#GetTestID").val();
var ShowCQ = '1';
$.ajax({
type : 'GET',
url:'getquestiondata.php',
data : {TestID: TestID, ShowCQ: ShowCQ, ThisQuestionNumber: ThisQuestionNumber},
success:function(data) {
$("#LoadingImage").hide();
$('#ShowQuestion').html(data);
}
});
});
});
</script>