2012-07-30 121 views
0

我在aspx頁面上有一個按鈕。使用此按鈕,我將在select元素中添加一個選項元素,並將一些數據添加到頁面上顯示的GridView。我想首先放置選項元素,然後從此按鈕執行我的代碼隱藏。腳本執行但代碼隱藏不

我有按鈕和評估組合框:

<asp:DropDownList runat="server" ID="comboboxPeople" ... /> 
<asp:DropDownList runat="server" ID="comboboxOutput" /> 
<asp:Button runat="server" ID="buttonAdd" text="Add passanger" OnClick="buttonAdd_Click" OnClientClick="addOptionToSelectElement();" /> 

我有腳本:

function addOptionToSelectElement() { 
    var cb = document.getElementById('<%=comboboxPeople.ClientID %>'); 
    var cbout = document.getElementById('<%=comboboxOutput.ClientID %>'); 
    var op = document.createElement("op"); 
    op.value = cb.options[cb.selectedIndex].value; 
    op.text = cb.options[cb.selectedIndex].text; 
    cbout.appendChild(op); 
} 

我的後臺代碼:

protected void buttonAdd_Click(object sender, EventArgs e) 
{ 
    DoSomething(...); 
} 

這裏是我的問題:如果我將腳本功能附加到我的按鈕上,代碼隱藏功能不起作用。如果我不使用腳本,我的代碼隱藏會運行。

有什麼想法? 謝謝!

+0

JS的行爲是否按預期行事?我沒有自己嘗試過(所以我不確定它是否有效),但是當你創建'op'的時候,你想創建的元素似乎是'option'。另外,如果在'addOptionToSelectElement()'末尾添加'return true;'並使用'OnClientClick =「返回addOptionToSelectElement();」'? – Zhihao 2012-07-30 20:25:57

回答

1

comboboxOutput來自何處。我累了沒有下線,它的工作

var cbout = document.getElementById('<%=comboboxOutput.ClientID %>'); 


cbout.appendChild(op); 
+0

謝謝,穆罕默德,但我不明白你的解決方案! – Kiwanax 2012-07-30 19:50:46

+0

你沒有寫comboboxOutput在你的示例代碼中,它在哪裏?它給我一個錯誤和ı刪除它:) – Mehmet 2012-07-30 19:52:37

+0

啊,對不起。此下拉菜單存在。我忘了把它放到HTML代碼中。 – Kiwanax 2012-07-30 19:55:09