Php 如何使用jquery获取编辑文本的值
您好,我想从JQuery中获取更改后的文本值,但我无法选择使用JQuery编辑文本,因为编辑从php生成的文本,同时循环该php代码查询数据库并获取编辑文本的值,在我的程序中,我为每个编辑文本都设置了编辑按钮,当用户更改编辑文本的值时,我选择新值,当用户单击时编辑按钮使用jquery$.ajax函数将此值从get方法发送到另一个php页面,并使用ajax将新值发送到该php代码。但我不知道如何选择编辑文本,因为它的值已更改,因为我不知道编辑文本的id!。当我为每个编辑文本设置一个id时,我只从$id.change.val;中获得第一个编辑文本值;。我使用下面的代码,但它不起作用。我是java脚本的初学者,不知道如何解决这个问题Php 如何使用jquery获取编辑文本的值,php,javascript,jquery,Php,Javascript,Jquery,您好,我想从JQuery中获取更改后的文本值,但我无法选择使用JQuery编辑文本,因为编辑从php生成的文本,同时循环该php代码查询数据库并获取编辑文本的值,在我的程序中,我为每个编辑文本都设置了编辑按钮,当用户更改编辑文本的值时,我选择新值,当用户单击时编辑按钮使用jquery$.ajax函数将此值从get方法发送到另一个php页面,并使用ajax将新值发送到该php代码。但我不知道如何选择编辑文本,因为它的值已更改,因为我不知道编辑文本的id!。当我为每个编辑文本设置一个id时,我只从$
var testAnswer;
function setNewTestAnswer(id){
testAnswer = $("#id").val();
}
function sendToEdit(pID,phID,thDate,type){
var info = 'pId='+pID+'&phId='+phID+'&testAnswer='+testAnswer+'&thDate='+thDate+'&type='+type;
}
第二个函数使用用户在编辑文本中更改的testAnswer。
php代码
<?php
include 'Connect.php';
if(match($_POST['pId'], "/^[\d]+$/") ){
$pId = $_POST['pId'];
$result = mysql_query("select pName, pID, phName, phID, testHistoryDate, type, testAnswer from patient join reception using(pID) join physician using(phID) join testHistory using(rID) join test using(tID) where pID = $pId",$connection);
}
else
die("Insert true value");
while($row=mysql_fetch_array($result)){
echo "<tr><td>";
echo $row["pName"].'</td>';
echo '<td>'.$row["phName"].'</td>';
echo '<td>'.$row["testHistoryDate"].'</td>';
echo '<td>'.$row["type"].'</td>';
$type = $row['type'];
$testHistoryDate = $row['testHistoryDate'];
?>
<td>
<span id='spryTanswer'>
<input type='text' name='tAnswer' id='tAnswer' value='<?php echo $row['testAnswer']; ?>' />
</span>
</td>
<td>
<input type='submit' value='Edit' name='edit' id='edit' onclick="sendToEdit('<?php echo $row['pID'] ?>','<?php echo $row['phID'] ?>', '<?php echo $row['testHistoryDate'] ?>', '<?php echo $row['type'] ?>')" />
</td>
</tr>
<?php } ?>
tl;博士
所以现在还不完全清楚你想在这里做什么,但我可以解释一些可能有用的事情
在html中,ID应该是唯一的。您不必遵守这条规则,页面才能正常工作,但如果您违反了这条规则,您会发现其中一个后果:jQuery只会找到第一条规则
将html id基于数据的某些独特属性(例如表行id)是一个好主意
例如,您可以使用jQuery选择器获得更大的创造力
$'input[type=text]'//获取所有文本输入
使用类。当您希望能够轻松地选择一组html元素中的所有元素时,应该为它们提供相同的类名。一个元素可以有多个类名,许多元素可以共享一个类名。然后可以使用jquery按类名选择它们,如下所示:
<span class='spryTanswer'>
<input type='text' name='tAnswer' id='tAnswer-<?php echo $row['id'] ?>' value='<?php echo $row['testAnswer']; ?>' />
</span>
$'.myclassname'
我认为您需要更改php,使其看起来更像:
<span class='spryTanswer'>
<input type='text' name='tAnswer' id='tAnswer-<?php echo $row['id'] ?>' value='<?php echo $row['testAnswer']; ?>' />
</span>
因为您是在php循环中创建元素,所以必须确保每个元素都有唯一的id,或者根本没有id。可以使用递增索引,也可以使用数组中的某个唯一值。乍一看,$row['pID']似乎是一个很好的候选者:
<input id='edit_<?php $row['pID'] ?>' type='submit' value='Edit' ... />
之后,您应该能够针对单个元素。很难理解您的问题,我读的唯一内容是编辑文本。什么是编辑文本?好的,我解决了我的问题,谢谢你的贡献。删除我的问题?我使用php为每个编辑文本生成id,并使用onclick发送该id以获取其值!