Binding a drop down listbox to text field not working
Posted: 08 May 2018
Does anyone see the problem with the code below? The drop down looks right but it doesn't appear to be binding and updating.
In the HTML field I'm using:
***********************
<asp:HiddenField runat="server" ID="{{FieldName}}Field" Value="{@{{FieldName}}}" __designer:bind="{{DataBinding}}" />
<select>
<option value="Backlog">Backlog</option>
<option value="Contracting">Contracting</option>
<option value="Invoicing/AR">Invoicing/AR</option>
<option value="Miscellaneous">Miscellaneous</option>
<option value="Month-End/Revenue Adjustment" selected="true">Month-End/Revenue Adjustment</option>
<option value="Project Status">Project Status</option>
<option value="Scope Changes">Scope Changes</option>
</select>
<div></div>
**********************
In the JavaScript field I'm using:
***************************
$('head').append('<link rel="stylesheet" href="https://static.spform.com/fd/css/kendo.common.min.css" type="text/css" />');
$('head').append('<link rel="stylesheet" href="https://static.spform.com/fd/css/kendo. ... 65.min.css" type="text/css" />');
var hidden = fd.field(fieldName).control()._el().find('>input');
var editor = fd.field(fieldName).control()._el().find('>select');
//updates hidden field that stores the actual data
function updateText(){
hidden.val(editor.data("kendoEditor").value());
}
//detects changes to the input
function onChange(e) {
updateText();
}
function onPaste(e) {
updateText();
}
//initializes kendo editor
SP.SOD.executeFunc('plumsail.fd.kendo.js', 'kendo', function() {
var text = hidden.val();
//only use decoded if you plan to store the value in Plain text
var decoded = $('<selected/>').options[element.selectedIndex].text();
editor.kendoEditor({
change: onChange,
paste: onPaste,
value: decoded
});
});
In the HTML field I'm using:
***********************
<asp:HiddenField runat="server" ID="{{FieldName}}Field" Value="{@{{FieldName}}}" __designer:bind="{{DataBinding}}" />
<select>
<option value="Backlog">Backlog</option>
<option value="Contracting">Contracting</option>
<option value="Invoicing/AR">Invoicing/AR</option>
<option value="Miscellaneous">Miscellaneous</option>
<option value="Month-End/Revenue Adjustment" selected="true">Month-End/Revenue Adjustment</option>
<option value="Project Status">Project Status</option>
<option value="Scope Changes">Scope Changes</option>
</select>
<div></div>
**********************
In the JavaScript field I'm using:
***************************
$('head').append('<link rel="stylesheet" href="https://static.spform.com/fd/css/kendo.common.min.css" type="text/css" />');
$('head').append('<link rel="stylesheet" href="https://static.spform.com/fd/css/kendo. ... 65.min.css" type="text/css" />');
var hidden = fd.field(fieldName).control()._el().find('>input');
var editor = fd.field(fieldName).control()._el().find('>select');
//updates hidden field that stores the actual data
function updateText(){
hidden.val(editor.data("kendoEditor").value());
}
//detects changes to the input
function onChange(e) {
updateText();
}
function onPaste(e) {
updateText();
}
//initializes kendo editor
SP.SOD.executeFunc('plumsail.fd.kendo.js', 'kendo', function() {
var text = hidden.val();
//only use decoded if you plan to store the value in Plain text
var decoded = $('<selected/>').options[element.selectedIndex].text();
editor.kendoEditor({
change: onChange,
paste: onPaste,
value: decoded
});
});