Php 如何使用jquery获取编辑文本的值

Php 如何使用jquery获取编辑文本的值,php,javascript,jquery,Php,Javascript,Jquery,您好,我想从JQuery中获取更改后的文本值,但我无法选择使用JQuery编辑文本,因为编辑从php生成的文本,同时循环该php代码查询数据库并获取编辑文本的值,在我的程序中,我为每个编辑文本都设置了编辑按钮,当用户更改编辑文本的值时,我选择新值,当用户单击时编辑按钮使用jquery$.ajax函数将此值从get方法发送到另一个php页面,并使用ajax将新值发送到该php代码。但我不知道如何选择编辑文本,因为它的值已更改,因为我不知道编辑文本的id!。当我为每个编辑文本设置一个id时,我只从$

您好,我想从JQuery中获取更改后的文本值,但我无法选择使用JQuery编辑文本,因为编辑从php生成的文本,同时循环该php代码查询数据库并获取编辑文本的值,在我的程序中,我为每个编辑文本都设置了编辑按钮,当用户更改编辑文本的值时,我选择新值,当用户单击时编辑按钮使用jquery$.ajax函数将此值从get方法发送到另一个php页面,并使用ajax将新值发送到该php代码。但我不知道如何选择编辑文本,因为它的值已更改,因为我不知道编辑文本的id!。当我为每个编辑文本设置一个id时,我只从$id.change.val;中获得第一个编辑文本值;。我使用下面的代码,但它不起作用。我是java脚本的初学者,不知道如何解决这个问题

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以获取其值!