2012-07-12 86 views
2

我在用戶控件中有一個RadCombobox,我試圖從Javascript中將該值設置爲null或0。以下代碼不起作用。但它也沒有顯示任何錯誤。從javascript中設置RadComboBox值

function OnClientSelectedIndexChanged(sender, eventArgs) { 
    var item = eventArgs.get_item(); 
     var ddl = document.getElementById('ctl00_plh1_Test1_Dropdown2_RadComboBox1_DropDown'); 
     ddl.selectedIndex = 0; 

} 

<telerik:RadComboBox ID="Dropdown1" runat="server" 
          NoWrap="true" Width="250" OnClientSelectedIndexChanged="OnClientSelectedIndexChanged"> 
          <CollapseAnimation Duration="200" Type="OutQuint" /> 
         </telerik:RadComboBox> 



<uc2:RadComboBox ID="Dropdown2" runat="server" DdlAutoWidth="true"></uc2:RadComboBox> 
+0

嘗試這個VAR DDL =的document.getElementById( 'maincontent_RadcomboBox'); maincontent應該是UserControl的ID – 2012-07-12 15:42:18

+0

我能夠使用我的代碼找到控件,但selectedIndex不起作用。 – nav100 2012-07-12 15:45:34

+0

你得到了什麼錯誤? – 2012-07-12 15:47:41

回答

3

試試這個。

var mycombobox = $find("<%= MyUserControl.FindControl("RadComboBox1").ClientID %>"); 

var mycombobox = $find("<%= RadComboBox1").ClientID %>"); 

mycombobox.clearSelection(); 

您可能需要此

<rad:RadScriptBlock runat="server" ID="RadCodeBlock"> 
    <script type="text/javascript"> 

    </script> 
</rad:RadScriptBlock> 
0

嘗試:

var radComboBox = <%=YourComboBox.ClientID %>; 

radComboBox.SetValue("someValue"); 
1

我假設RadComboBox將觸發OnClientSelectedIndexChanged事件將有2個或更多RadCombBoxItem s,否則事件將永遠不會被觸發,因爲所選索引永遠不會改變。

當事件觸發時,您必須在UserControl中獲得對RadComboBox控件的引用。要將其SelectedIndex屬性設置爲0,請在客戶端控件上調用set_selectedIndex()函數。請記住,這隻會設置SelectedIndex,並且不會更新RadComboBox的輸入字段中的文本。如果你想清除它,你必須調用客戶端控件的set_text()函數。

function onComboBoxSelectedIndexChanged(s, e) { 
    var ctrl = '<%= Dropdown2.FindControl("RadComboBox1").ClientID %>'; 
    if (ctrl) { 
     ctrl.set_selectedIndex(0); 
     ctrl.set_text(''); 
    } 
} 

請參閱documentation上Telerik的網站,瞭解有關的JavaScript API爲RadCombBox控制的更多信息。

0

你想設置爲0null選擇的值或選定的索引?
嘗試此選定值:

$find("<%=ctl00_plh1_Test1_Dropdown2_RadComboBox1_DropDown.ClientID%>").set_text("0");