当我的LSML表单加载时,我需要从Drop-Down元素(图片中的“Type”)中预选一个选项。
当表单加载时,我需要看到已经在此元素中选择了值“2-intermediate-type”。
这是一个向数据库添加新实体的表单。
我尝试的解决方案是在此Drop-Down元素的postRender
事件中编写一些javaScript代码。
像这样:
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的初学者,所以我不确定在这种情况下这是否是一项艰难或轻松的任务。
但是我很惊讶它不能那么容易,因为在其他编程语言/平台上这个任务很简单。
感谢您的帮助!
答案 0 :(得分:0)
问题在于Lightswitch和sharepoint的架构。
通过选择一个选项,您实际上并未设置值或已选中。相反,您正在更改.ui-btn-text的文本。这就是我所拥有的:
if(screen.Customers.selectedItem.countryDrop!= null){ 。$( “#filterRecentByCountry”)父()找到( “UI-BTN-文本 ”)找到(“ 跨度”)文本(screen.Customers.selectedItem.countryDrop)。 }
我有自定义下拉列表,所以我使用ID,但原则与本机下拉列表完全相同。我真的希望这会有所帮助。
答案 1 :(得分: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];
});
}
欢呼声