我的radgrid包含reddropdown,其中autopostback = false。 当用户从网格内的下拉列表中选择值时,该值是如何通过javascript获得的。
<telerik:GridTemplateColumn UniqueName="Reminder" HeaderStyle-Width="350px" DataField="Reminder">
<ItemTemplate >
<telerik:RadDropDownList runat="server" ID="ReminderDropDown" Width="350px" OnSelectedIndexChanged="OnSelectedIndexChanged" />
</ItemTemplate>
</telerik:GridTemplateColumn>
<ClientSettings>
<ClientEvents OnCommand="OnSelectedIndexChanged" />
</ClientSettings>
<script type="text/javascript">
function OnClientSelectedIndexChanged(sender, eventArgs) {
var hiddenvalue = document.getElementById("Remindervalue");
var s = hiddenvalue.value;
alert("You selected item with index : " + document.getElementById(s).value);
}
</script>
请建议
答案 0 :(得分:0)
您需要对代码进行一些更改才能使其正常工作。
首先,您应该注册客户端OnClientItemSelected
事件,而不是仅在回发时发生的服务器端OnSelectedIndexChanged
事件。
<telerik:RadDropDownList runat="server" ID="ReminderDropDown" Width="350px" OnClientItemSelected="OnClientItemSelected" />
其次,在您的JS函数中,要从RadDropDownList控件获取所选项的客户端对象引用,您应该调用将返回所选项的eventArgs.get_item()
。
<script type="text/javascript">
function OnClientItemSelected(sender, eventArgs) {
var item = eventArgs.get_item();
alert("You selected " + item.get_text() + " with value " + item.get_value());
}
</script>
有关详细信息,请参阅this help article。希望它有所帮助。