2011-01-22 57 views
2

我試圖從下拉列表中選擇不同的項目時清除RadEdiotors的內容。點擊OK後,下面的腳本會清除編輯者的內容,但是當顯示的確認框中單擊了cancle按鈕時,它也會清除內容。以下腳本有什麼問題?另外,代碼後面的 ,此下拉列表中的onselectedindexchanged()事件在列表中選擇不同的項目時也不會被調用。 如何讓它工作?請幫忙。謝謝。onselectedindexchanged()沒有被調用,即使點擊取消按鈕,確認框也會清除文本

<script type="text/javascript"> 

     var showConfirm = 1; 

    function onClientSelectedIndexChanging(item) { 
    var editor1 = $find("<%= Editor1.ClientID %>"); 
    var editor2 = $find("<%= Editor2.ClientID %>"); 
    var content= editor.get_html(); 
    var callBackFn = function (arg) 
    { 
     if (arg == true && showConfirm == 1) 
     { 
      var combo = item.ComboBox; 
      combo.ClearSelection(); 

      showConfirm = 0; 

      combo.FindItemByText(item.Text).Select(); 
      combo.SetText(item.Text); 

      __doPostBack("cboxLanguage", '{\"Command\":\"Select\"}'); 

      showConfirm = 1;    
     } 
    } 


    if (showConfirm == 1 && content != '') 
    { 

     confirm('Changing the language will clear the content of the ediotrs. Click OK to proceed.', callBackFn); 

     alert(confirm); 
     if (content != null) 

     { 
       editor1.set_html(""); 
       editor2.set_html(""); 
       return true 
      } 
      else 
      { 
       return false; 
      } 
    } 
    return false; 
} 
</script> 

其telerik的Radcombobox,我正在使用和RadEditor。

這是我的組合框: -

<telerik:RadComboBox ID="cboxLanguage" TabIndex="2" runat="server" AutoPostBack="false" OnSelectedIndexChanged="cboxLanguage_OnSelectedIndexChanged" OnClientSelectedIndexChanging="onClientSelectedIndexChanging"> 
</telerik:RadComboBox> 

我想,如果確認== true,則明確編輯的內容,否則不行。如何獲得此確認框的「真實」值?另外,我怎樣才能調用OnSelectedIndexChanged()事件?

任何人都可以請幫忙嗎?我在這裏做錯了什麼?

編輯 alert(confirm);返回完整的功能代碼。我該如何獲取真/假價值並清楚編輯者的內容?

回答

1

嘗試用這種替代您的確認聲明:

var c = confirm('Changing the language will clear the content of the ediotrs. Click OK to proceed.', callBackFn); 

否則將分配的確認功能,稱爲「C」變量的結果,您可以使用該變量作爲一個布爾值。

此外,而不是alert(confirm);你會做alert(c);

相關問題