以下代码位于我的 php 文件 (cl.php) 中:
<?php for( $i = 0; $i < count( $getClFormData->data ); $i++ ) :?>
<tr>
<input type='hidden' name='itemid[]' value='<?php echo $getClFormData->data[$i]['c_item_id'] ?>'>
<td><?php echo $getClFormData->data[$i]['item'] ?></td>
<td><?php echo $getClFormData->data[$i]['description'] ?></td>
<td><?php echo $getClFormData->data[$i]['norm'] ?></td>
<td>
<input type='radio' name='kforce_mont1_<?php echo $i ?>' value='1' class='bobtailradiook'>OK<br/>
<input type='radio' name='kforce_mont1_<?php echo $i ?>' value='0' class='bobtailradionok' alt='<?php echo $getClFormData->data[$i]['c_item_id'] ?>'>NOK
</td>
</tr>
<?php endfor;
哪里<input type='radio' name='kforce_mont1_<?php echo $i ?>' value='0' class='bobtailradionok' alt='<?php echo $getClFormData->data[$i]['c_item_id'] ?>'>NOK
与我的问题相关。
再往下cl.php,如下代码:
if(isset($_POST['itemid'])){
<input type='hidden' class='test' value='<?php echo $_POST['itemid']; ?>'>
}
JS代码
$( document ).ready(function() {
$('.bobtailradionok').each(function() {
$( this ).click(function() {
//$("#errortable").show();
//alert($(this).attr('alt'));
$.ajax({
type: 'POST',
data: {itemid: $(this).attr('alt')},
url: "cl.php",
success:function(data){
alert($('.test').val());
console.log(data);
}
});
});
});
});
上面的 jquery 在警报框中返回“未定义”,而我希望它返回 itemid。为什么返回“未定义”?因为,当我查看 console.log 时,<input type='hidden' class='test' value='<?php echo $_POST['itemid']; ?>'>
正确返回为<input type='hidden' class='test' value='1'>
或<input type='hidden' class='test' value='2'>
取决于单击的框。
您曾经在哪里向页面添加 AJAX 响应?
这向您展示了响应中的内容:
console.log(data)
但是,这是寻找一个class="test"
元素在页面上:
$('.test').val()
您的意思是先将响应添加到页面的某处吗?例如:
$('#someElement').append(data);
alert($('.test').val());
或者也许专门查看值的响应?:
$('.test', data).val()
或者:
$(data).find('.test').val()
基本上你只是class="test"
在错误的地方寻找你的元素。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句