我有一张看起来像的桌子:
<table id="tblFileUpload" cellpadding="2" cellspacing="2" class="styled">
<tr>
<td align="left">
<asp:FileUpload ID="fileUpload1" runat="server" size="50" />
</td>
<td align="left">
<asp:DropDownList ID="ddlRequestType1" runat="server" DataTextField="Value" DataValueField="Key" CssClass="ddl"></asp:DropDownList>
</td>
<td align="left">
<asp:DropDownList ID="ddlStatusType1" runat="server" DataTextField="Value" DataValueField="Key" CssClass ="ddl2">
</asp:DropDownList>
<label class="badFileUploadRow">*</label>
</td>
</tr>
<tr>
<td align="left">
<asp:FileUpload ID="fileUpload2" runat="server" size="50" />
</td>
<td align="left">
<asp:DropDownList ID="ddlRequestType2" runat="server" DataTextField="Value" DataValueField="Key" CssClass="ddl"></asp:DropDownList>
</td>
<td align="left">
<asp:DropDownList ID="ddlStatusType2" runat="server" DataTextField="Value" DataValueField="Key"></asp:DropDownList>
<label class="badFileUploadRow">*</label>
</td>
</tr>
它继续继续进行另外几行(所有以相同的方式命名)
我应该只能为每个请求选择 1 个状态。我需要检查在更改任何给定状态类型时是否选择了重复的请求类型并禁用该行的选定状态类型。
例如。如果我为 requesttype1 和 requesttype3 都选择了“保存”,然后在 statustype3 中选择了“某些状态”,我需要在 requesttype1 的同一行中禁用“某些状态”。
我现在有以下内容:
$(".ddl2").change(function () {
var id = $(this).attr('id');
var cssType = $(this).attr('class');
var pos0 = id.indexOf('ddlStatusType'); // +14;
var itemNo = id.substr(pos0);
var seen = {};
$('#tblFileUpload td')
.each(function () {
//find if multiple request types already exist.
// if (cssType == "ddl") {
var txt = $('.ddl :selected').text();
if (seen[txt]) {//there is a duplicate
// $(this).remove();
}
else
seen[txt] = true;
// }
});
});
txt 变量返回请求类型的所有选定值的值,而不仅仅是同一行上的值……我被卡住了。请帮忙。