首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何检查HTML选择选项中是否包含任何值

如何检查HTML选择选项中是否包含任何值
EN

Stack Overflow用户
提问于 2014-07-28 23:49:48
回答 3查看 356关注 0票数 0

为了在HTML选择选项不为空的情况下停止对服务器的多个请求

谁能告诉我如何检查HTML Select是否为空

这是我的HTML

代码语言:javascript
复制
<select name="" id="SCname">
     <option selected="true" style="display:none;">Select Screen</option>
</select>
代码语言:javascript
复制
var json = {
        "employees": [
            {
                "firstName": "John",
                "lastName": "Doe"
            },
            {
                "firstName": "Anna",
                "lastName": "Smith"
            },
            {
                "firstName": "Peter",
                "lastName": "Jones"
            }
        ]
};
var html = '';
for (var i = 0; i < json.employees.length; i++) {
    var firstName = json.employees[i].firstName;    
    var lastName = json.employees[i].lastName;
    html += '<option value="'+firstName+'">'+lastName+'</option>';
}
$('#SCname').append(html);
$('#SCname').show();

谁能告诉我怎么检查这是不是空的??

这是我的jsfiddle

EN

回答 3

Stack Overflow用户

发布于 2014-07-28 23:52:37

要使用javascript确定SELECT中的选项数量,请执行以下操作:

代码语言:javascript
复制
if (document.getElementById('SCname').options.length == 1 ){  // 1 because it looks like you automatically added 1 via HTML
}

或jQuery:

代码语言:javascript
复制
if ($('#SCname option').length == 1) {...}

如果您询问如何确定当前选择的选项或选项的数量,则不是完全清楚。

票数 0
EN

Stack Overflow用户

发布于 2014-07-28 23:52:50

由于您使用的是jQuery,因此请使用 方法

代码语言:javascript
复制
if ($("#SCname").val() !== "") { 
  // ... The selection is not empty.
}

注意:这要求你的" empty“选项有一个空值:value=""__。

如果您还想检查option elements是否存在,请在select菜单中执行以下操作:

代码语言:javascript
复制
var mySelect = $("#SCname");
if (mySelect.val()!=="" && mySelect.find("option").length>0) { 
  // ... The selection is _not_ empty.
}
票数 0
EN

Stack Overflow用户

发布于 2014-07-29 00:03:53

您可以在select element选项上使用JQuery size()方法,该方法将返回元素的数量(该数字应大于1,因为您持有的是默认元素):

代码语言:javascript
复制
if ($('#SCname option').size() > 1)
{
  // Do some stuff
}

也许我误解了你的逻辑,但是,我要告诉你,既然你是动态添加option元素,为什么不在做任何额外的处理之前检查employees对象的长度:

代码语言:javascript
复制
var html = '';
if (json.employees.length > 0) // Check your array size
{
  for (var i = 0; i < json.employees.length; i++) 
  { 
    var firstName = json.employees[i].firstName;
    var lastName = json.employees[i].lastName; html += ''+lastName+''; 
  } 
  $('#SCname').append(html); 
  $('#SCname').show();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24999058

复制
相关文章

相似问题

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