0

所以我有一个使用 mySQL 表中的 .get() 方法的 ajax 搜索脚本。

在每一行,我都会有一个按钮、2 个文本字段和 1 个隐藏输入,其值来自 ajax 结果。如何在单击按钮时获取特定的行值?

我的ajax代码:

$("#cautare_p").keyup(function(){
    $.get("php/cautare/script_cautare.php","p="+$(this).val(),
        function(rez){
        $(".afisare_cautare").html(rez)
    })
    //end of search script
});

php代码:

echo "<table width='100%' border='1' cellpadding='1' cellspacing='1'>
    <td>Categorie</td>
    <td>Produs</td>
    <td>Cantitate</td>
    <td>Discount</td>
    <td></td>
    </tr>";

while(mysql fetch asocc code here){
$rr.="<tr><form>
         <td><span class='link'><a href='acasa.php?produse=lista&brand=$categId'>$numeCateg</a></span></td>
         <td><span class='link'><a href='acasa.php?produse=vizualizare&prodid=$prodId'>$numeProd</a></span>
         <br><span style='font-size:14px;'>U.M.:$um Stoc:$stoc Pret fara T.V.A.:$pretftva Pret cu T.V.A.:$pretctva</span>
         <input type='hidden' id='hiddenID' value='$prodId'>
         </td>
         <td><input type='text' id='text1' value='0'></td>
         <td><input type='text' id='text2' value='0'></td>
         <td>
         <input type='button' id='buton' value='Get'></td>
         </form>
         </tr>";
}
echo " $rr </table>";

结果 ajax 代码将是这样的:

$("#cautare_p").keyup(function(){
    $.get("php/cautare/script_cautare.php","p="+$(this).val(),
        function(rez){
        $(".afisare_cautare").html(rez),
    $("#buton").click(function(){
       $.get("php/cautare/insertInDb.php","h="+$("#hiddenID").val()+"&t1="+$("#tex1").val()+
       "&t2="+$("#hiddenID").val());
      });
    })
    //end of search script
});

解决了:

$(".afisare_cautare table").find("tr").click(function(){
                var prodid=$(this).closest("tr").find("input:hidden:eq(0)").val();
                var cant=$(this).closest("tr").find("input:text:eq(0)").val();
                var discount=$(this).closest("tr").find("input:text:eq(1)").val();
                $("#test").text("ProdId: "+prodid+" Cantitate: "+cant+" Discount: "+discount);
            });
4

2 回答 2

0

您可以创建一个外部 div,并为其分配一个唯一的 id。在 ajax 回调方法中使用 javascript 动态填充所有内部数据。

使用这种方法,您可以引用页面上的任何数据。

于 2013-06-15T13:12:48.653 回答
0

您可以尝试访问您单击的tr(超级父级),如下所示:button

$(document).on("click", "input.get-data", function () {
   alert($(this).closest("tr").html());
});

演示:http: //jsfiddle.net/hungerpain/n7DQH/

如果你想从你点击的地方获取文本框的值,

//to get the value of the text boxes from where you click,
$(document).on("click", "input.get-data", function () {
    //first text box
    alert($(this).closest("tr").find("input:text:eq(0)").val());
    //second text box
    alert($(this).closest("tr").find("input:text:eq(1)").val());
});

演示:http: //jsfiddle.net/hungerpain/n7DQH/1/

于 2013-06-15T13:25:18.780 回答