0

當我的LSML表單加載時,需要從下拉元素(圖片中的「類型」)中預先選擇其中一個選項。在Lightswitch中使用JavaScript以編程方式在DropDown元素中選擇值

當表單加載時,我需要看到在這個元素中已經選擇了「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 Lightsings和JavaScript的初學者,所以我不確定在這種情況下這是一項艱鉅或容易的任務。

但是,我很驚訝,它不能如此輕鬆地工作,因爲在其他編程語言/平臺上這個任務是微不足道的。

感謝您的幫助!

+1

你試過'element.value =「2 - 中間型」 ;'? –

+0

是的,它不起作用 – Geoorge

回答

0

問題出在Lightswitch和SharePoint的架構上。

通過選擇一個選項,你並不是真正的設定值或選擇。相反,您正在更改.ui-btn-text的文本。這裏是我的:

if(screen.Customers.selectedItem.countryDrop!= null){(「#filterRecentByCountry」)。parent()。find(「。ui-btn-text」)。find ( 「跨度」)文本(screen.Customers.selectedItem.countryDrop)。 }

我有自定義下拉列表,所以我使用ID,但原理與原生下拉完全相同。我真的希望這有助於。

+0

我有同樣的問題,請詳細說明你的答案: a)countryDrop是什麼?這是與客戶數據對象有關的國家數據對象的屬性嗎? b)我假設這個$(「#filterRecentByCountry」)。parent()。find(「。ui-btn-text」)。find(「span」)返回下拉的html對象? – spikey

0

解決方案的一部分就像@VadimsSamsinovs所說:更改下拉文本無助於我們需要將對象設置爲數據模型對象。這會自動改變視圖。

1.)創建一個查詢,返回您想要選擇的對象,例如, GetBenificiaryTipDefault()。在查詢創建期間,我將查詢屬性「返回的結果數」設置爲「One」,因此它只返回一個對象。

2)從JavaScript調用查詢和返回的對象適用於下拉內容項:

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

歡呼

相關問題