2011-01-25 115 views
0

如何知道哪个隐藏字段可以从给定的按钮旁边的隐藏字段获取值。这个按钮也在while循环中,因此产生了一个按钮和隐藏字段的列表。每个按钮都有一个与其相邻的隐藏字段。循环显示表格行中的php while循环中的隐藏字段

我想要使用jquery ajax将数据从隐藏字段插入到数据库中的表中,但是我通过所有按钮循环查找哪个被单击,它工作正常,但问题出现在我的循环中通过隐藏字段,它获得最后一个隐藏字段的值。我如何获得与点击按钮相邻的隐藏字段的值? 我真的很感谢帮助。提前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

说你的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> 
</div> 

jQuery代码这样

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

我只是通过采摘哈里什给出的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

感谢名单guyz,我得到了解决这个问题,它的一较长短,但它的工作,任何人谁需要这个代码,这是它是如何去

<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; 
    }); 


}); 

只需在按钮上使用与隐藏字段相同的名称并在末尾添加一个计数器号码即可区分它们,然后将点击的按钮的名称等同于隐藏字段,如果它们相同,则它们位于同一行或而是彼此相邻。而已。

Thanx guyz