簡體   English   中英

如何使用jQuery基於復選框狀態獲取隱藏字段的值

[英]How to get value of a hidden field based on a checkbox state using jquery

我正在研究一個小型的Phalcon項目,在該項目的特定頁面上有一個搜索框來搜索客戶,然后將搜索結果顯示在foreach循環下,該循環具有每個結果的復選框以及一個具有值的隱藏字段。 單擊按鈕后,搜索結果將顯示為ajax響應。 在選中特定的復選框時,無論如何都要傳遞與選中的復選框相關聯的特定隱藏字段的值。 在搜索框下方,有一個表單,用於接收來自用戶的輸入值以及從搜索結果傳遞來的客戶名稱值和ID。 我嘗試包括jQuery腳本以將隱藏字段值傳遞給輸入字段,僅當搜索結果為1時才獲得期望的輸出,但是當搜索結果大於一個時,即使僅第一個隱藏字段值也被傳遞,即使我選中第二或第三復選框。 我是編程方面的重要人物。 請幫忙。 我的代碼如下:

public function editengagementAction($id)
{
    $engmt = Engagement::findFirstById($id);
    $eid=$engmt->customerid;
    $cusdetails= Customerdetails::findFirstById($eid);
    $this->view->objs = $cusdetails;
    if(isset($_POST['searchrslt'])){
        $rst = $_POST['searchrslt'];
        $outputs = $this->db->query("SELECT * FROM customerdetails WHERE name LIKE '%".$rst."%' ")->fetchAll();

        echo"<table width='98%' class='table table-condensed' align='right' id='srchtable' ><thead>";
        echo"<tr><th class='mi_table_head'  style='padding-left:10px;'>User Name</th>";
        echo"<th class='mi_table_head'  style='padding-left:10px;'>Company Details</th>";
        echo"<th class='mi_table_head'  style='padding-left:10px;'>Email</th>";
        echo"<th class='mi_table_head'  style='padding-left:10px;'>Phone NUmber</th>";
        echo"<th class='mi_table_head'  style='padding-left:10px;'></th>";
        echo"<th class='mi_table_head'  style='padding-left:10px;'></th></tr>";
        $count=1;
        foreach ($outputs as $value) {
            echo"<tr><td height='40'  class='mi_table_text'  style='padding-left:10px;'>$value[name]</td>";
            echo"<td valign='middle' class='mi_table_text'  style='padding-left:10px;'>$value[companyname]<br>$value[companyurl]</td>";
            echo"<td valign='middle' class='mi_table_text'  style='padding-left:10px;'>$value[email]</td>";
            echo"<td valign='middle' class='mi_table_text'  style='padding-left:10px;'>$value[phonenumber]</td>";
            echo"<td valign='middle' class='mi_table_text'  style='padding-left:10px;'><input type='checkbox' name='checkbox'  id='count' value='$value[name]'></td>";
            echo"<td valign='middle' class='mi_table_text'  style='padding-left:10px;'><input type='hidden' id='$count' name='cid' value='$value[id]'></td></tr>";
            echo "<script>
            $(function(){ $('#addsubmit').on('click',function(){
             $('#checkbox').removeAttr('checked');
             var boxChecked = false;
             var customid;
             $('input[type=\"checkbox\"]').each(function() {
              if ($(this).is(':checked')) {
             boxChecked = $(this).val();
             customid=$('input[type=\"hidden\"]').val();
               alert('id is'+ customid);
               }
                });
               $('#custname').val(boxChecked);
               $('#custmid').val(cusid);
             if (boxChecked == false) {
             alert('Please select one customer');
             return false; }
             alert('Customer Changed !');
             return false;
             }); });
             </script>";
            $count++;
        }
        echo"<tr><td colspan='10' align='right'><input type='button' value='Add Customer' id='addsubmit' class='button blue' name='button' onclick='addcustmr()'></td></tr>";
        echo"</tbody><tbody><tbody><tbody></thead></table>";
        exit();
        $this->view->disable();
    }  
  }

這是上述網頁的屏幕截圖,其中顯示了帶有復選框的搜索結果。

為了獲得隱藏的輸入,您需要更改以下行:

customid=$('input[type=\"hidden\"]').val();

customid=$(this).parent().next().children('input[type=\"hidden\"]').val();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM