首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >标识表中的所有选择选项

标识表中的所有选择选项
EN

Stack Overflow用户
提问于 2014-06-25 05:54:35
回答 2查看 587关注 0票数 2

我将动态地将选择标记添加到表中,如下所示:

代码语言:javascript
复制
selectedRow = '<tr class="trResource">';
selectedRow += '<td align="center" width="15%"><select><option value="Primary Auditor">Primary Auditor</option><option value="Secondary Auditor">Secondary Auditor</option><option value="Auditee">Auditee</option></select></td>';
selectedRow += '</tr>';
$("#tblSeelctedProjectResource tr:first").after(selectedRow);

我需要检查,用户是否已经选择了所有的选项。(即在我提交之前,应该有3行可供选择的所有值)如下:(在提交之前,我需要检查1名主审计员、1名二级审计员和1名被审计人)

代码语言:javascript
复制
+-------------+--------------+------------------------------------------+
|    Username +   Required   | Level                                    |
+-------------+--------------+------------------------------------------+
|   User 1    |    YES       | Dropdown (Primary Auditor Selected)      |
+-------------+--------------+------------------------------------------+
|   User 2    |    YES       | Dropdown (Secondary Auditor Selected)    |
+-------------+--------------+------------------------------------------+
|   User 3    |    YES       | Dropdown (Auditee  Selected)             |
+-------------+--------------+------------------------------------------+

我尝试了以下几点:

代码语言:javascript
复制
var _pa = $('#tblSeelctedProjectResource').find('select option:selected').text() == "Primary Auditor";
var _sa = $('#tblSeelctedProjectResource').find('select option:selected').text() == "Secondary Auditor";
var _ad = $('#tblSeelctedProjectResource').find('select option:selected').text() == "Auditee";
if (!_pa && !_sa && !_ad) {
return false;
}
return true;

不工作,请帮帮我。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-25 06:18:45

首先,收集从下拉列表中选择的所有值:

代码语言:javascript
复制
var values = $('#tblSeelctedProjectResource select').map(function() {
    return this.value;
}).get();

然后检查是否选择了这三个选项(按任何顺序):

代码语言:javascript
复制
return $.inArray("Primary Auditor", values) && 
    $.inArray("Secondary Auditor", values) &&
    $.inArray("Auditee", values);
票数 3
EN

Stack Overflow用户

发布于 2014-06-25 06:12:28

如果我完全理解这个问题,您可以在n行中创建一个select,并且需要检查是否首先选择了“主审计员”值,等等。所以您需要迭代所有的选择并查询它的位置和值,试试下面的代码

代码语言:javascript
复制
var check = true
$('#tblSeelctedProjectResource').find('select').each(function (i,obj){
    if ($(obj).text().trim() == "Primary Auditor"){
        check &= true
    }else if ($(obj).text().trim() == "Secondary Auditor"){
        check &= true
    }else if ($(obj).text().trim() == "Auditee"){
        check &= true
    }else{
        check = false
    }
});
return check
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24401153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档