0

Мне нужно предварительно выбрать один из параметров из элемента Drop-Down («Тип» на картинке), когда загружается моя форма LSML.Программно выберите значение в элементе DropDown с JavaScript в Lightswitch

Когда форма загружается, мне нужно увидеть, что в этом элементе уже выбран значение «2-промежуточного типа».

Это форма, которая добавляет новый объект в базу данных.

Решение, которое я пробовал, было написать код javaScript в событии postRender этого элемента Drop-Down.

Как это:

myapp.AddBeneficiary.Beneficiary_TIP_postRender = function (element, contentItem) { 
    $(contentItem).text("2-intermediate-type"); 
    element.textContent = "2-intermediate-type"; 
    $(element) = "2-intermediate-type"; 
    $(element).options["2-intermediate-type"].selected = true; 
} 

Ни один из этих четырех вариантов не работает для меня.

Я новичок как с MS Lightswith, так и с JavaScript, поэтому я не уверен, что это сложная или легкая задача в этом контексте.

Но я, однако, удивлен, что он не работает так легко, потому что на других языках программирования/платформах эта задача тривиальна.

Спасибо за помощь!

+1

Вы пробовали 'element.value = '2-промежуточного типа' ; '? –

+0

Да, это не работает – Geoorge

ответ

0

проблема с архитектурой Lightswitch и sharepoint.

Выбрав параметр, вы действительно не устанавливаете значение или не выбрали. Вместо этого вы меняете текст .ui-btn-text. Вот что у меня есть:

если (screen.Customers.selectedItem.countryDrop! = NULL) { $ ("# filterRecentByCountry") родитель() найти ("UI-БТН-текст.") Найти... ("оболочка") текст (screen.Customers.selectedItem.countryDrop). }

У меня есть настраиваемый выпадающий список, поэтому я использую идентификатор, но принцип точно такой же, как у родных выпадающих списков. Я действительно надеюсь, что это поможет.

+0

У меня такая же проблема, пожалуйста, уточните свой ответ немного больше: a) что такое CountryDrop? Является ли этот атрибут объектом данных Customers, относящимся к объекту данных страны? b) Я предполагаю, что этот $ ("# filterRecentByCountry"). Parent(). Find (". Ui-btn-text"). Find ("span") возвращает выпадающий html-объект? – spikey

0

Одна часть решения подобна @VadimsSamsinovs: изменение текста выпадающего меню не помогает, нам нужно установить объект в объект модели данных. Это автоматически изменит представление.

1.) Создайте запрос, который возвращает вам объект, который вы хотели бы выбрать, например. GetBenificiaryTipDefault(). Во время создания запроса я задал свойство запроса «Количество результатов, возвращенных» в «Один», поэтому он возвращает только один объект.

2.) Вызов запрос из JavaScript и применить возвращенный объект выпадающего элемента контента:

myapp.AddBeneficiary.Beneficiary_TIP_postRender = function (element, contentItem) { 
    myapp.activeDataWorkspace.ApplicationData.GetBenificiaryTipDefault().execute().then(function (response) {    
     contentItem.value = response.results[0]; 
    }); 
} 

приветствий

Смежные вопросы