2012-06-29 180 views
0

我想使用jquery來選擇一些隱藏的字段從表中的特定行檢索一些值,以使ajax調用。第一個變量(ebId)檢索得很好,但其他所有變量都不會被設置。他們都是空的。我不能使用隱藏字段的名稱,因爲這些隱藏字段是動態創建的,並且具有相同的名稱。所以我正在嘗試使用一個類。任何想法爲什麼我選擇最後3個變量(_product,_applicantType,_ssn)的方式不起作用?JQuery選擇麻煩

這裏的jQuery和相關的HTML

$('.submissionStatus').click(function() { 
     var _ebId = $(this).next('.ebId').val(); 
     var _product = $(this).next('.product').val(); 
     var _applicantType = $(this).next('.applicantType').val(); 
     var _ssn = $(this).next('.ssn').val(); 

     $.ajax({ 
      type: 'GET', 
      data: { ebId: _ebId, product: _product, applicantType: _applicantType, ssn: _ssn }, 
      url: '@Url.Action("GetSeverityErrors", "AppListing")', 
      success: function (data) { 
       alert('Call success') 
       $(this).next('.loaded').val(true); 
      }, 
      error: function (xhr, status, error) { 
       alert('An Error Occured.'); 
      } 
     }); 
    }); 

<input type="hidden" class="ebId" value="@item.ElectedBenefitId" /> 
<input type="hidden" class="product" value="@item.Product" /> 
<input type="hidden" class="applicantType" value="@item.ApplicantType" /> 
<input type="hidden" class="ssn" value="@item.Ssn" />  

多一點HTML見解:

<td align="left"> 
    <a style="color:red;" class="submissionStatus" href="javascript: void(0)" title="SubmissionStatus">@item.SubmissionStatus.ToPrettyString()</a> 

<input type="hidden" class="ebId" value="@item.ElectedBenefitId" /> 
<input type="hidden" class="product" value="@item.Product" /> 
<input type="hidden" class="applicantType" value="@item.ApplicantType" /> 
<input type="hidden" class="ssn" value="@item.Ssn" /> 
<input type="hidden" class="loaded" value="false" /> 
</td> 
+4

我需要查看'.submissionStatus'控件與您試圖獲取的隱藏字段的關係。你能粘貼更多相關的HTML嗎? –

+0

對不起,我發佈了它。它在相同的​​ –

回答

1

注意closest()選擇基於它的參數最接近的父元素,試試這個:

var _ebId = $(this).siblings('input.ebId').val(); 
var _product = $(this).siblings('input.product').val(); 
var _applicantType = $(this).siblings('input.applicantType').val(); 
var _ssn = $(this).siblings('input.ssn').val(); 
+0

ebId和產品類是在多個隱藏值。我將如何從我選擇的行中獲取特定值? –

+0

@MattStewart你可以嘗試選擇元素的同胞的兄弟()方法。 – undefined

+0

這工作。我對JQuery很陌生,並不明白爲什麼這會起作用。你能解釋一些嗎? –

0
$('.submissionStatus').click(function() { 

     var storThis = this; 
     var _ebId = $(storThis).next('.ebId').val(); 
     var _product = $(storThis).next('.product').val(); 
     var _applicantType = $(storThis).closest('.applicantType').val(); 
     var _ssn = $(storThis).closest('.ssn').val(); 
+0

這仍然有ebId後的每個變量爲空。同樣的結果。 –