使用Javascript设置用户控件内的下拉列表值

时间:2011-11-03 19:32:05

标签: javascript asp.net telerik

我为RadComboBox创建了UserControl。我正在尝试使用Javascript在我的.aspx页面上设置其值。我得到组合为null。如何访问用户控件内部的控件?感谢您的任何建议。

<script type="text/javascript">
    combo = $find("<%= RadComboBox1.ClientID %>");
    combo.SetValue(MyArgs[2]);
</script>

3 个答案:

答案 0 :(得分:3)

如果我错了,有人会纠正我,但我不相信你可以在JS脚本标签中使用服务器端脚本。

您可以使用和asp Literal将客户端ID传递给隐藏字段。 Jor例子:

在您的aspx页面上放置一个名为fieldID的ASP Literal

将值设置为
"<input type=\"hidden\" id=\"theID\" value=\""+RadComboBox1.ClientID+"\"/>"

然后你的JS组合将等于$('#'+$('#theID').val());

答案 1 :(得分:1)

来自Telerik文档

http://www.telerik.com/help/aspnet/combobox/combo_client_model.html

function SetValueOfTheComboBox()
   {
       var combo = <%=RadComboBox1.ClientID %>;
       combo.SetValue("CustomText");
   }

我认为你不需要$ find()。

我没有测试过,你的里程可能会有所不同。

答案 2 :(得分:0)

如果您正在使用RadComboBox for ASP.NET AJAX,那么以下代码应该可以工作:

function FunctionName(parameter)
{
     var combo = $find("<$= RadComboBox1.ClientID %>");
     combo.set_value(parameter);
}

SetValue()方法适用于ASP.NET Classic控件,因此如果您使用的是ASP.NET AJAX,则需要使用可以找到here的新客户端API。另请注意,您应该在“combo”初始化之前编写var