如果HTML Selection选项不为空,则为了停止对服务器的多个请求
请有人告诉我如何检查HTML Select是否为空
这是我的HTML
<select name="" id="SCname">
<option selected="true" style="display:none;">Select Screen</option>
</select>
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。
答案 0 :(得分:0)
使用javascript:
确定SELECT
中的选项数量
if (document.getElementById('SCname').options.length == 1 ){ // 1 because it looks like you automatically added 1 via HTML
}
或jQuery:
if ($('#SCname option').length == 1) {...}
如果您询问如何确定当前选择的选项或选项数量,则不完全清楚......
答案 1 :(得分:0)
由于您使用的是jQuery,使用.val()
方法:
if ($("#SCname").val() !== "") {
// ... The selection is not empty.
}
注意:这要求您排空&#34;空白&#34;选项具有空值:value=""
。
如果您 希望检查option
菜单中是否存在select
元素:
var mySelect = $("#SCname");
if (mySelect.val()!=="" && mySelect.find("option").length>0) {
// ... The selection is _not_ empty.
}
答案 2 :(得分:0)
您可以在select元素选项上使用JQuery size()
方法,该方法将返回元素数量(此数字应大于 1 ,因为您持有默认元素):
if ($('#SCname option').size() > 1)
{
// Do some stuff
}
也许我误解了你的逻辑但是,我会告诉你,因为你是动态附加选项元素,为什么不在进行任何额外处理之前检查employees
对象的长度:
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();
}