【问题标题】:Set value for dropdown inside user control using Javascript使用 Javascript 为用户控件内的下拉菜单设置值
【发布时间】:2011-12-21 11:52:20
【问题描述】:

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

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

【问题讨论】:

  • 这个脚本在哪里,在页面或用户控件中?

标签: javascript asp.net telerik


【解决方案1】:

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

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

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

将值设置为
"&lt;input type=\"hidden\" id=\"theID\" value=\""+RadComboBox1.ClientID+"\"/&gt;"

那么你的 JS 组合就等于$('#'+$('#theID').val());

【讨论】:

  • 他正在使用 Telerik 的客户端 API。他为获得对组合框的引用所做的工作应该有效;但是,我认为他做不到combo.SetValue()。我记得,没有这样的方法。
  • &lt;%= %&gt; 放在&lt;script type="text/javascript"&gt; 中是行不通的,至少在.net 2.0 和据我所知的更新版本中。
【解决方案2】:

来自 Telerik 文档

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

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

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

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

【讨论】:

    【解决方案3】:

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

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

    SetValue() 方法适用于 ASP.NET Classic 控件,因此如果您使用 ASP.NET AJAX,则需要使用新的客户端 API,该 API 位于 here。另外请记住,您应该在“组合”初始化之前写var

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-18
      • 2015-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-11
      • 1970-01-01
      相关资源
      最近更新 更多