2012-08-02 33 views
0

我在使用JQuery的ASP.NET頁面上發現了一些困難。特別是我有兩個主要問題。我需要使用JQuery來更改LabelDropDownList的值,然後我必須從後面的代碼中讀取這些值,但是當我這樣做時,我會找到原始值。在客戶端進行的更改將被忽略。如何從JQuery設置的值後面讀取代碼?

如何在服務器端讀取正確的值?

+0

頁面上的所有服務器端代碼(您的代碼隱藏)在響應發送到瀏覽器之前在服務器上執行。爲了響應客戶端的變化,爲了做一些服務器端的事情,你需要向Web服務器發出另一個請求,通常是使用傳統的表單元素提交或使用Ajax。 – nnnnnn 2012-08-02 07:51:58

+0

@nnnnnn我實際上並不需要對客戶端更改進行異步響應。我需要的是將所有更改發回服務器端... – davioooh 2012-08-02 08:00:37

回答

0

不是使用標籤和下拉列表來設置值,而是使用Hiddenfield設置值,然後在代碼後面使用HiddenField.Value獲取該值。在大多數情況下,可以看到Label和DropdownLists值在Javascript代碼設置不能在代碼中檢索的背後,卻HiddenField值可以是retrieved.So嘗試使用HiddenField ...

在Javascript中: -

<script> 
$("#HiddenField1").Val("Your Value"); 
</script> 

在代碼隱藏: -

string value=HiddenField1.Value; 
+0

謝謝。好主意! – davioooh 2012-08-02 09:43:01

0
$("#mydropdownlist").val("thevalue"); 

只是確保選項標記中的值與val方法中的值匹配。

如果索引工作,就可以使用.attr()直接設置選擇指數:

$("#mydropdownlist").attr('selectedIndex', 0); 

這將其設置爲在droplist的第一個值。

試試這個:使用Ajax請求更改服務器結果。當更改下拉選擇。

$(function() { 

    $('#type').bind('change', function(ev) { 

    var value = $(this).val(); 

    $.ajax({ 
     ... 
     data: {valueType: value, html: encodeURIComponent($("#addhtml").html())}, 
     ... 
    }); 

    }); 


}); 
相關問題