Установите значение для выпадающего внутри пользовательского элемента управления, используя Javascript - PullRequest
0 голосов
/ 03 ноября 2011

Я создал UserControl для RadComboBox. Я пытаюсь установить его значение на моей странице .aspx, используя Javascript. Я получаю комбо как ноль. Как я могу получить доступ к элементу управления, который находится внутри пользовательского элемента управления? Спасибо за любые предложения.

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

Ответы [ 3 ]

3 голосов
/ 03 ноября 2011

Кто-то исправит меня, если я ошибаюсь, но я не верю, что вы можете использовать серверный скрипт внутри тегов JS-скрипта.

Вы можете передать идентификатор клиента в скрытое поле, используя asp Literal, хотя,В следующем примере:

поместите ASP-литерал на страницу aspx с именем fieldID

и установите значение
"<input type=\"hidden\" id=\"theID\" value=\""+RadComboBox1.ClientID+"\"/>"

Тогда ваша JS-комбинация будет равна $('#'+$('#theID').val());

1 голос
/ 04 ноября 2011

Из документации Telerik

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

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

Не думаю, что вам нужен $ find ().

Я не проверял этоВаш пробег может варьироваться.

0 голосов
/ 04 ноября 2011

Если вы используете RadComboBox для ASP.NET AJAX, тогда должен работать следующий код:

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

Метод SetValue () предназначен для элементов управления ASP.NET Classic, поэтому, если вы используете ASP.NET AJAX вам нужно использовать новый клиентский API, который можно найти здесь .Также имейте в виду, что вы должны написать var перед инициализацией "combo".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...