2013-06-15 2 views
0

Итак, у меня есть сценарий поиска ajax, используя метод .get() из таблицы mySQL.Как получить значения из приведенных строк ajax?

В каждой строке у меня была бы кнопка, 2 текстовые поля и 1 скрытый ввод со значением, полученным из результата 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>"; 

И привел Аякса код будет выглядеть примерно так:

$("#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); 
      }); 
+0

Если вы хотите получить определенную строку, вам, возможно, потребуется найти строку каким-то образом. Это легко сделать в SQL – luiges90

+0

, что вы делали до сих пор? – bugwheels94

ответ

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/

+0

совсем не работает, но спасибо – adi

+0

что вы пытаетесь достичь? если и сохранить это ясно, тогда мы могли бы помочь вам ... вам нужно было получить значение строки да? то почему это не работает **? – krishgopinath

+0

странно я заработал, плохо вернусь и расскажу, работал ли я так, как хочу, – adi

0

Вы можете создать внешний div, присвоив ему уникальный идентификатор. Динамически заполнять все внутренние данные с помощью javascript в режиме обратного вызова ajax.

Используя этот подход, вы можете сослаться на любые данные на странице.

+0

Вы имеете в виду сделать div на каждой строке или всей таблице? – adi

+0

да, именно так вы сможете отсылать каждую строку. –

+0

, но как скрипт узнает, какую кнопку я нажал? – adi

Смежные вопросы