Javascript 敲除JS:表内下拉列表的验证

Javascript 敲除JS:表内下拉列表的验证,javascript,jquery,knockout.js,Javascript,Jquery,Knockout.js,在这里使用knockoutjs 当前设置: 我有一个HTML表格,表格有5列。我有一个按钮向表中添加一行,然后删除每行的按钮来删除它。我在这个表的两列中也有一个下拉列表。第一个下拉列表是从表外的按钮单击事件填充的。当你按下“获取数据”按钮时,它会填充下拉列表。此外,当您选择任何dropdpwns时,行数据将根据选择进行调整。 最后还有一个保存按钮。单击时,我希望保存所有数据 我的下拉列表如下: <td><select class="form-control" data-bi

在这里使用knockoutjs

当前设置:

我有一个HTML表格,表格有5列。我有一个按钮向表中添加一行,然后删除每行的按钮来删除它。我在这个表的两列中也有一个下拉列表。第一个下拉列表是从表外的按钮单击事件填充的。当你按下“获取数据”按钮时,它会填充下拉列表。此外,当您选择任何dropdpwns时,行数据将根据选择进行调整。 最后还有一个保存按钮。单击时,我希望保存所有数据

我的下拉列表如下:

  <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")
    }
  }
};