0
问题摘要:Ajax的注入形式值
当下拉改变,jQuery的触发Ajax获得项目经理的选择项目。项目中已有的PM数量为PHP var $num_pms
。 (在下面的AJAX中,将其作为第二隐藏输入字段#num_pms的值插入。)
在AJAX成功回调函数fn中,读取input#num_pms.val()
并用于初始化计数器 - 但数字总是错误的。
要排除故障,我试图从input#num_pms
读取该值,将其增加并重新写入input#test
。但是,表单提交后,测试的值为空。 但是,很奇怪,值input#num_pms
是正确的!
我一定在做错误的事情来看input#num_pms
字段值...?
HTML:下拉式触发jQuery来运行AJAX搜索。结果放入#reportstable div。
Project*:<br />
<?php include 'inc/widgets/dropdown_all_projects.php';?>
<form action="" method="post" name="updatepm" enctype="multipart/form-data" id="TheForm">
<div id="reportstable">
</div>
</form>
AJAX:
$project_num = $_POST['project_num'];
$project_id = get_project_id_from_project_num($project_num);
$aPMs = get_climgr_for_project($project_id,'user_id','first_name','last_name');
$num_pms = mysql_num_rows($aPMs);
//>Snippet< -- Inject following markup into #reportstable div.
echo
'<th width="50">
Action
<input type="hidden" name="project_id" value="'.$project_id.'">
<input type="hidden" name="num_pms" id="num_pms" value="'.$num_pms.'">
<input type="hidden" name="test" id="test" value="">
</th>
';
的jQuery:火灾AJAX,返回结果为#reportstable
$('#project_pick').change(function(e) {
$('#project_pick').css('width', '500');
$.ajax({
type: "POST",
url: "ajax/ax_all_ajax_fns.php",
data: "project_num=" + $(this).val(),
success:function(data){
$('#reportstable').html(data);
//Tried adding this first
var count = $('#num_pms').val() + 1;
$('#test').val(count);
//Tried this after above wouldn't work. It didn't either.
//var count = 80;
} //END success fn
}); //END $.ajax()
}); //END dropdown .change() event
谢谢。这是答案的一部分。另一部分是由于某些原因,我对javascript文件的更改没有生效。例如,我删除了ajax成功回调函数fn的全部内容,然后保存了更改,Ctrl + F5刷新,并且#reportstable div仍然以某种方式被填充。为了解决这个问题,我必须开始编写.js文件(例如,updatepm3.js)。但是你的回答让我走上了正确的轨道,而且我很快乐。 (哦,另一部分答案是parseInt!== ParseInt)。 – gibberish 2013-04-24 22:48:13