2011-01-25 8 views
0

隠しフィールドに隣接してクリックされた特定のボタンから値を取得する必要がある隠しフィールドを知るにはどうすればよいですか。このボタンはwhileループにもあり、ボタンと隠れフィールドのリストを生成します。各ボタンには、それに隣接する隠しフィールドがあります。PHP内の非表示フィールドをループしながらテーブル行にあるループ

DB内のテーブルに非表示フィールドのデータを挿入するにはjquery ajaxを使用しますが、どのボタンがクリックされたかを調べるにはwen iループしますが、問題はうまくいきます隠しフィールドを介して、最後の隠しフィールドの値を取得します。クリックされたボタンのすぐ隣の非表示フィールドの値を取得するにはどうすればよいですか? 本当に助けに感謝します。あらかじめThanx。

jQueryの

$(#list_tb input[type=submit]).each(function(){ 
$(this).click(function(){ 
$(#list_tb input[type=hidden]).each(function(){ 
var value=$(this).val(); 
alert(value); 
}); 
}); 
}); 

答えて

0

この

jQuery(".but").click(function(){ 
    var hidVal = jQuery(this).closest("div.child").find("hid").val(); 
}); 
0

のようなこの

<div id="parent"> 
    <div class="child"> 
     <span><input type="hidden" class="hid" value="1"></span> 
     <span><input type="button" class="but" value="submit"></span> 
    </div> 
    <div class="child"> 
     <span><input type="hidden" class="hid" value="3"></span> 
     <span><input type="button" class="but" value="submit"></span> 
    </div> 
</div> 

jQueryのコードのようなあなたのhtmlは私だけハリッシュによって与えられたHTMLを選んでいますと言います。.. ..あなたはこの方法でもできます..

<div id="parent"> 
<div class="child"> 
    <span><input type="hidden" class="hid" value="1"></span> 
    <span><input type="button" class="but" value="submit"></span> 
</div> 
<div class="child"> 
    <span><input type="hidden" class="hid" value="3"></span> 
    <span><input type="button" class="but" value="submit"></span> 
</div> 

とjQuery ..

jQuery(".but").click(function(){ 
    var hidVal = jQuery(this).parents("div.child").find("hid").val(); 
}); 
0

ありがとうまいらになり、私は、それを解決するようになったその長い短いが、それは働いていた、このコードを必要とする人のために、これはありますそれは

<form id="form1" name="form1" method="post" action="load_modules.php"> 
    <table width="500" id="orderlist_table"> 
    <tr> 
     <th width="78" style="font-size: 12px">type</th> 
     <th width="82" style="font-size: 12px">amount</th> 
     <th width="90" style="font-size: 12px">date</th> 
     <th colspan="5" style="font-size: 12px">invoice order</th> 
    </tr> 
    <?php 

     while($order_rows=mysql_fetch_assoc($orderSQL)) 
     { 
     ?> 
    <tr> 
     <td height="26" style="font-size: 12px"><?php echo $order_rows['Type']; ?></td> 
     <td style="font-size: 12px"><?php echo $order_rows['Total_amount']; ?></td> 
     <td style="font-size: 12px"><?php echo $order_rows['Date']; ?></td> 
     <td width="55" id="invoice_btn_td" style="font-size: 12px"> 
     <input type="submit" name="invoice_btn" id="hf<?php echo $order_rows['id'];?>" value="invoice"/> 
     </td> 
     <td width="30" id="userid_td" style="font-size: 12px"> 
     <input type="hidden" name="user_idhf" id="hf<?php echo $order_rows['id'];?>" value="<?php echo $order_rows['User_id']; ?>" /> 
     </td> 
     <td width="35" id="type_td" style="font-size: 12px" > 
     <input type="hidden" name="typehf" id="hf<?php echo $order_rows['id'];?>" value="<?php echo $order_rows['Type'];?>" /> 
     </td> 
     <td width="37" id="order_td" style="font-size: 12px"> 
     <input type="hidden" name="orderidhf" id="hf<?php echo $order_rows['id'];?>" value="<?php echo $order_rows['id'];?>" /> 
     </td> 
     <td width="57" id="amount_td" style="font-size: 12px"> 
     <input type="hidden" name="total_amounthf" id="hf<?php echo $order_rows['id'];?>" value="<?php echo $order_rows['Total_amount']?>" /> 
     </td> 
    </tr> 
    <?php 
     } 
     ?> 
    </table> 

jQueryがどのようになる:

$("#orderlist_table input[type=submit]").each(function(){ 
    $(this).click(function(){ 
     var btn_id=$(this).attr('id'); 
     var userid_value; 
     var type_value; 
     var orderid_value; 
     var totalamount_value; 
     $("#userid_td input[type=hidden]").each(function(){ 
       var userid_id=$(this).attr('id'); 
       if(userid_id==btn_id) 
       { 
        userid_value=$(this).attr('value'); 
       } 
     }); 
     $("#type_td input[type=hidden]").each(function(){ 
       var type_id=$(this).attr('id'); 
       if(type_id==btn_id) 
       { 
        type_value=$(this).attr('value'); 
       } 
     }); 
     $("#order_td input[type=hidden]").each(function(){ 
       var order_id=$(this).attr('id'); 
       if(order_id==btn_id) 
       { 
        orderid_value=$(this).attr('value'); 
       } 
     }); 
     $("#amount_td input[type=hidden]").each(function(){ 
       var amount_id=$(this).attr('id'); 
       if(amount_id==btn_id) 
       { 
        totalamount_value=$(this).attr('value'); 
       } 
     }); 
     //alert(userid+" "+type_value+" "+orderid_value+" "+totalamount_value); 
     $.post("php_files/add_invoice.php",{user_idhf:userid_value, 
     typehf:type_value, 
     orderidhf:orderid_value, 
     total_amounthf:totalamount_value}, 
     function(data) 
      { 
       if(data.success) 
       { 
        alert(data.success); 
       } 
       if(!data.success) 
       { 
        alert(!data.success); 
       } 
      },'json'); 
     return false; 
    }); 


}); 

ボタンを隠しフィールドと同じ名前に最後にカウンター番号を付けてクリックすると、クリックされたボタンの名前を隠しフィールドと同じにします。等しい場合は同じ行になります。むしろ互いに隣接している。それでおしまい。

サンクスガイズ

関連する問題