2014-09-18 48 views
1

我有以下的Javascript生成另一片無聲通話,而無需刷新頁面獲取可變進JS通過PHP分配的ID

function UpdateDB(table,column,type){ 
    var value = $("#Assigned").val(); 

    $.post("UpdateValuation.php?Table=" + table + "&Value=" + value + "&Column=" + column + "&Type=" + type, {}).done(); 
}; 

這工作完全,但僅適用於「分配」更新數據庫值表格行,因爲它是靜態分配的。

我用下面的PHP生成與按鈕表項

print "<tr><td>" . $stuff['Status'] . "</td><td ><input type=\"text\" id=\"" . $stuff['Status'] . "\" name=\"" . $stuff['Status'] . "\" value=". $stuff['Value'] ." size = \"4\" style = \"text-align: center\"/><button onclick=\"UpdateDB('NOCstatus','Status','". $stuff['Status'] ."');\">Update</button></td></tr>"; 

哪些變量後,通常這樣分配會尋找我的「待定」行

<input id="Pending" type="text" style="text-align: center" size="4" value="120" name="Pending"> </input> 
<button onclick="UpdateDB('NOCstatus','Status','Pending');"> 
Update 
</button> 

我的問題是,經過「 this.value「或試圖在javascript部分中使用變量我總是想出一個空值,唯一一次我可以得到一個值是正確的是靜態分配」#Assigned「或」#Pending「在價值領域。我有數百個條目,所以我不想爲每個條目編寫函數。我知道這可能是我失蹤的極其簡單的事情,但我無法獲得適合的作品。

我需要將輸入字段中的輸入值傳遞給函數以更新數據庫。請幫忙。

+0

不知道我是否理解,但是this.value不會被設置在你的代碼中,因爲當你的php生成它時,id是「Pending」。 – mschuett 2014-09-18 19:56:50

回答

3
function UpdateDB(table,column,type){ 
    var value = $('#'+type).val(); 

    $.post("UpdateValuation.php?Table=" + table + "&Value=" + value + "&Column=" + column + "&Type=" + type, {}).done(); 
};  

+0

是的,就是這樣。我曾嘗試過,但用雙引號,它沒有工作。我知道這很簡單。謝謝,我會在幾分鐘內接受答案。 – James 2014-09-18 19:59:08

+0

當然,先生,謝謝你。 – 2014-09-18 20:00:02