2013-02-26 59 views
0

我需要那個項目,我點擊,發送它IdGetProduct()行動。我使用hidden元素,但它不起作用:如何將每個元素的ID從Ajax表單發送到操作?

@using (Ajax.BeginForm("GetProduct", "Product", new AjaxOptions { UpdateTargetId = "getProductResult" }, new { id = "productForm" })) 
    { 
     foreach (var item in list) 
     { 
     <a href="#" onclick="$('#productForm').trigger('submit');">@item.Name</a> 

     //this hidden always send '1', but I want to send item's Id 
     <input type="hidden" id='[email protected](item.Id)' name ="id" value="@item.Id" /> 
     } 

    <noscript> 
     <input type="submit" id="sendButton" /> 
    </noscript> 
    } 

我的錯在哪裏?如何發送Id

+0

你試過我的解決方案隊友嗎?請告訴我,如果您有任何問題:) – 2013-02-26 11:15:26

+0

我現在tring,可能是這部分是不正確的一些:$('#id')。val($(this).attr('rel')); ? – 2013-02-26 11:19:11

+0

這裏是與我提出的解決方案提琴手 http://jsfiddle.net/qNCXg/ – 2013-02-26 11:27:32

回答

1

隱藏的輸入具有名稱「id」,並且它在for循環中獲得了添加次數。 因此它不會工作..

不要直接點擊按鈕提交表格。將ID存儲在按鈕的rel屬性中。 當它被點擊,然後提交表單其值分配給隱變量..

<a href="#" 
    rel="@(item.id)" 
    onclick="$('#id').val($(this).attr('rel')); ('#productForm').trigger('submit');"> 
@item.Name 
</a> 

投入單獨的函數中的onClick代碼會雖然:)

入住這Fiddler

+0

謝謝你。但我有很多隱藏的領域。表單每次都會首先隱藏。 – 2013-02-26 12:06:51

+0

是的,你會有許多隱藏的領域,因爲你正在循環中創建隱藏的領域。從循環中放出隱藏的字段 – 2013-02-26 12:08:01

+0

我將其提取出循環。現在它工作。 – 2013-02-26 12:23:56

1

被優先停留嘗試這個 。

foreach (var item in list) 
    { 
    @using (Ajax.BeginForm("GetProduct", "Product", new AjaxOptions { UpdateTargetId = "getProductResult" }, new { })) 
     { 
    <a href="#" class="anchor" >@item.Name</a> 

    //this hidden always send '1'. 
    <input type="hidden" id='[email protected](item.Id)' name ="id" value="@item.Id" /> 


     <noscript> 
     <input type="submit" id="sendButton" /> 
    </noscript> 
    } 
    } 



<script> 
$(function(e){ 
$('.anchor').click(function(e){ 
    //get the parent form. 
    var parentform= $(this).parents('form:first'); 
    parentform.submit(); 

    }); 
}); 
</script> 
+0

或使用此。 @item.Name 2013-02-26 11:00:04

+0

表單提交不是問題。有用。但是,總是發送1個值。 ID = 1。我想發送點擊項目的ID。 – 2013-02-26 11:03:58

+0

問題是,每個表單都有多個隱藏字段,名稱爲id.try,現在我更改了代碼。 – 2013-02-26 11:36:21

相關問題