2014-09-18 27 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