2011-03-14 71 views
0
<select id="Select1"> 
     <option>1</option> 
     <option>2</option> 
     <option>3</option> 
    </select> 

alert($("#Select1").val()); 

此代碼是正確的並返回當前值。獲取文本選擇Runat =「服務器」

BUT

<select runat="server" id="Select1"> 
     <option></option> 
    </select> 

function parseXmlQuestion(xml) 
{ 

    $(xml).find("Question").each(function() 
    { 
    var value=$(this).find('Text').text() 
    $('#<%=Select1.ClientID %>'). 
     append($("<option></option>"). 
     attr("value",value). 
     text(value)); 
    }); 

}

alert($('#<%=Select1.ClientID %>').val()); 
alert($('#<%=Select1.ClientID %> option:selected').val()); 

alert($('#<%=Select1.ClientID %>').text()); 
alert($('#<%=Select1.ClientID %> option:selected').val()); 

alert($('#<%=Select1.ClientID %>').html()); 
alert($('#<%=Select1.ClientID %> option:selected').val()); 

返回NU或不確定。

+0

它實際上是追加'option'元素嗎?當你在客戶端(像FireBug那樣的東西)檢查它時,究竟發生了什麼?第二個例子添加了更多的變量,而不僅僅是'runat =「server」'。 – David 2011-03-14 12:02:45

+0

'<%= Select1.ClientID%>'應該返回什麼? – Val 2011-03-14 12:08:19

+1

你爲什麼重新發布這個問題? http://stackoverflow.com/questions/5297778/get-current-text-select – Andrew 2011-03-14 12:10:34

回答

0

好吧你是有點不可思議,你是幫助我們每次回答時間不...

這是你應該做的。

  1. 測試這將返回正確的ID。 <%=Select1.ClientID %>這應該是Select1
  2. 檢查你的xml,也就是正確的,(包括你的xml標籤的上限,使用json最好更容易)。這樣做既console.log(value)alert(value)如果您還沒有進化:)
  3. parseXmlQuestion()應某處的頁面,否則你只是有一個坐在鴨不被槍殺或者不告訴它,換句話說運行被稱爲
0

u需要從

<select runat="server" id="Select1"> 
     <option></option> <-- your values get added after this so probably the null is coming from here 
    </select> 

刪除​​3210應該像

<select runat="server" id="Select1"></select> 
+0

如果刪除

+0

從哪裏刪除'選項'? – Rafay 2011-03-14 12:58:55

+0

在html代碼中,在腳本中remoove錯誤說附加沒有定義 – ashkufaraz 2011-03-14 13:00:19