当前位置: 首页 > 知识库问答 >
问题:

剑道下拉列表MVVM绑定默认值错误

夏骏
2023-03-14

我有以下剑道下拉列表:

<div class="slds-form-element" id="eventSubjectItem" style="text-align: center;">
                    <label class="slds-form-element__label" for="eventSubjectContainer" style="color: white; font-size: 15px;">Choose Event Field To Be Used To Label Event:</label>
                    <div id="eventSubjectBorder" style="border-top: 2px solid #f48942;"></div>
                    <div class="slds-form-element__control">
                        <div id="eventSubjectContainer">
                            <input data-role="dropdownlist" id="eventSubject" data-text-field="commonName" data-value-field="apiName" data-bind="source: eventFields, value: selectedField" style="margin-top: 10px; margin-bottom: 15px;"/>
                        </div>
                    </div>
                </div>

然后,我的javascript可观察绑定:

eventSubjectObservable = kendo.observable({
                    selectedField: '{!orgEventLabel}',
                    eventFields: allEventFields,
                    eventLabelChange: function(){
                        console.log(this.get('selectedField'));   
                    }
                });
kendo.bind($('#eventSubject'), eventSubjectObservable);

当试图添加事件:{Change: eventLabelChange}到我的html dropDownlist元素中的数据绑定时,我得到处理程序没有定义错误,当它显然是(有趣的是,我有另一个dropDownlist与此页面上的相同类型的绑定完美地工作与变化事件罚款...)。

而且我无法获得默认值。我曾尝试在绑定后直接将dropdownlist值设置在observable之外,然后触发更改事件,但什么也没发生。

当commonName='Subject'和apiName='Subject'并且我做dropdownlist时。数据('kendoDropDownList')。值('Subject')它有-1索引,因为它找不到具有该值的项,即使其中显然有一项。。。我真的不明白这个绑定是怎么回事。

当文本和值字段不是整数而是字符串时,有人知道如何设置默认值吗?它显然无法确定传递给value()的字符串与它的一个项的值相同。。。

共有1个答案

苏涵润
2023-03-14

使用事件绑定并将更改绑定到eventLabelChange方法。也添加属性为data-auto-bind=true

<input data-role="dropdownlist" id="eventSubject" data-text-field="commonName" data-value-field="apiName" data-bind="source: eventFields, value: selectedField, events:{change:eventLabelChange}" data-auto-bind="true" style="margin-top: 10px; margin-bottom: 15px;"/>
 类似资料:
  • 如何将本地数组绑定到剑道的MVVM dropdown列表。 我有一个这样的阵列 我想把它绑定到我的输入控件 它不工作。有什么想法我可以实现这一点吗? 谢谢

  • 我想把剑道下拉列表加入我的表格。一切都会好的,除了一件事。当我想用默认的剑道创建工具栏“添加记录”时,我不能绑定从dropdownlist数据源获取的第一个值。 数据源工作正常。DropDownlist也很好用。如果我手动从dropDownlist中选择任何东西,一切正常。 我也试过了。除了“索引”之外,我试图手动从数据源中选择第一项。从视觉上看,它工作得很好。即使选择了第三项,但当我单击“更新”

  • 我在JSFIDLE示例中有以下代码 问题是,当用户单击“添加新记录”时,它会添加一个新项目,其中设施名称下拉列表显示列表中的第一个项目。如果用户单击“更新”,则会保存记录,但会将设施名称清空。原因是,下拉列表中确实没有选定项目。我之所以知道这一点,是因为所选值在传递给控制器代码时为空。所以,我真的很想知道如何 不显示列表中的第一个项目,直到用户在列表中实际选择它或 将选定的项目设置为列表中的第一个

  • 我有一个剑道图表,我必须用模型绑定图表。我必须设置系列默认值选项。 我得到了如何在JavaScrit中设置seriesdefualts的代码。有人能帮助我如何在模型视图绑定中添加相同的代码吗。 JavaScript: 模型视图绑定:

  • 我可以通过下面的模板场景将剑道下拉列表添加到剑道网格中: 然而,问题是如何访问dropdownlist以获取其值/文本/索引。到目前为止,我可以使用以下方法获取所选行数据: 这里是JSFiddle代码 请帮帮我,我卡住了。 提前感谢。

  • 您好,我正在使用kendo ui mvvm,我正在尝试使用远程数据源绑定填充下拉列表,我可以将数据字段绑定到下拉列表,但我的下拉列表有空值,我尝试的是不在下拉列表中显示这些空值。问题是: 这是我的密码: 正如你所看到的,我已经尝试了data-tuumal-value="true",但是它不起作用,我是新的剑道mvvm,任何帮助都将不胜感激,谢谢。