2012-10-11 47 views
2

我有一個下拉列表,我想在一個範圍內換行。 我想要發生的是...使用span標籤檢查並返回值

當用戶從下拉列表中選擇一個新項目時,span將檢查一個js函數並接受返回值true/false。

如果span值= true,則讓用戶繼續選擇,否則取消選擇並將下拉列表選定值返回-1。

我已經看過span標籤的很多例子,但一直沒有找到能夠返回值的東西。

我該如何得到這個工作?

感謝

<span ????> 
<asp:DropDownList ID="ddSelectFormula" runat="server" 
      AppendDataBoundItems="true" AutoPostBack="false" CssClass="controltext" 
      DataSourceID="lnqSelectFormula" DataTextField="FormulaName" 
      DataValueField="FormulaID"> 
      <asp:ListItem Selected="True" Text="Select Formula" Value="-1"> </asp:ListItem> 
     </asp:DropDownList> 
</span> 

function checkFormulaID() { 
    var hi = document.getElementById("ctl00_ContentPlaceHolder1_HiFormulaIDList").value; 
    var dd = document.getElementById("ctl00_ContentPlaceHolder1_ddSelectClientFormula").value; 
    var ddVal = dd.options[dd.selectedIndex].value; 
    if (hi > 0 && ddVal > 0) { 
     var retVal = confirm("Do you want to replace the current formula with this one?"); 
     if (retVal == true) { 
      return true; 
     }; 
    } else { 
     return false; 
    } 
} 
+2

我不明白你爲什麼需要跨度。 – bfavaretto

+0

我只想做一個回發,如果我必須。我已經用一個span來包裝刪除按鈕,並且已經能夠得到響應,所以我想如果我可以在一個下拉列表中包裝一個,我可以做類似的事情。 基本上,如果在隱藏字段中有值並且用戶想要更改值,那麼我必須在代碼後面做一些事情,但如果用戶不想要,那麼我不必在代碼後面進入代碼。 我希望這從此以後。 感謝您的幫助 –

+0

您的OP沒有提到任何隱藏字段,所以我不確定這是如何進入公式。聽起來就像你只是想實施一個'髒'檢查。如果值發生變化,那麼在隱藏字段中的值就會變大。這很容易完成。讓我們知道你想要完成的更多細節。這聽起來是一種方式,但也可能是別的...... – Taersious

回答

0

你的下拉列表只需要包括

OnClientClick="checkFormulaID" 

您可能還需要編輯JS的比較,如果(喜> 0 & & ddVal > 0),因爲JS可以用價值行爲來做瘋狂的事情。