Javascript 敲除JS:表内下拉列表的验证
在这里使用knockoutjs 当前设置: 我有一个HTML表格,表格有5列。我有一个按钮向表中添加一行,然后删除每行的按钮来删除它。我在这个表的两列中也有一个下拉列表。第一个下拉列表是从表外的按钮单击事件填充的。当你按下“获取数据”按钮时,它会填充下拉列表。此外,当您选择任何dropdpwns时,行数据将根据选择进行调整。 最后还有一个保存按钮。单击时,我希望保存所有数据 我的下拉列表如下:Javascript 敲除JS:表内下拉列表的验证,javascript,jquery,knockout.js,Javascript,Jquery,Knockout.js,在这里使用knockoutjs 当前设置: 我有一个HTML表格,表格有5列。我有一个按钮向表中添加一行,然后删除每行的按钮来删除它。我在这个表的两列中也有一个下拉列表。第一个下拉列表是从表外的按钮单击事件填充的。当你按下“获取数据”按钮时,它会填充下拉列表。此外,当您选择任何dropdpwns时,行数据将根据选择进行调整。 最后还有一个保存按钮。单击时,我希望保存所有数据 我的下拉列表如下: <td><select class="form-control" data-bi
<td><select class="form-control" data-bind="options: $parent.ddl, optionsText: 'firstName', value: selectedValue, optionsCaption: '--Select--'"> </select></td>
<td>
<select class="form-control" data-bind="value: selectedSeparator">
<option value="">--Select--</option>
<option value="#">#</option>
<option value="@">@</option>
</select>
</td>
<select class="form-control" data-bind="options: $parent.ddl, optionsText: 'firstName', value: selectedValue, optionsCaption: '--Select--', attr: { name: 'Items[' + $index() + '].Name', id: 'Items[' + $index() + '].Name'}" name="Items[0].Name" id="Items[0].Name"><option value="">--Select--</option><option value="">Alex</option><option value="">Sam</option> </select>
是否有可能通过上面的代码,我可以循环通过所有下拉列表,看看是否选中
谢谢您可以根据条件使用CSS类来标记无效行 HTML: Javascript:
self.Save = function(){
for (i in self.items()) {
if (typeof self.items()[i].selectedValue() == "undefined") {
self.items()[i].isInvalid(true);
alert("Select all dropdown")
}
}
};
我已使用您的更改更新了我的JSFIDLE:。还有什么需要在这里更改才能使其正常工作的
isInvalid
应该在项目上抱歉,我不清楚。您是否能够更新上面的小提琴以进行所需的更改。谢谢,如果您添加了一行,并且在第一个下拉列表中没有选择任何内容,则此操作将有效。但是,如果选择第一个下拉列表,而不选择第二个下拉列表,则会通过验证。我们如何验证这两者。另外,如果您在我的帖子中为我更新的代码提供任何输入,我将在下拉列表中循环。再次感谢您查看感谢tomas,我已经用您的更改调整了我的代码,并使其适用于两个下拉列表。谢谢你的帮助。
<tr data-bind="css: { invalidRow: isInvalid }">
.invalidRow {
background-color: #ffb8b5;
}
self.Save = function(){
for (i in self.items()) {
if (typeof self.items()[i].selectedValue() == "undefined") {
self.items()[i].isInvalid(true);
alert("Select all dropdown")
}
}
};