2013-04-24 37 views
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 

回答

1

嘗試:

var count = parseInt($('#num_pms').val()) + 1; 

此外請確保您的DOM中只有一個#num_pms元素。

+0

謝謝。這是答案的一部分。另一部分是由於某些原因,我對javascript文件的更改沒有生效。例如,我刪除了ajax成功回調函數fn的全部內容,然後保存了更改,Ctrl + F5刷新,並且#reportstable div仍然以某種方式被填充。爲了解決這個問題,我必須開始編寫.js文件(例如,updatepm3.js)。但是你的回答讓我走上了正確的軌道,而且我很快樂。 (哦,另一部分答案是parseInt!== ParseInt)。 – gibberish 2013-04-24 22:48:13