确定是否已在 if 语句中选择任何选项

Identifying if any option has been selected in if statement

本文关键字:选择 任何 选项 语句 if 是否      更新时间:2023-09-26

我有一个删除按钮:

我正在尝试首先找出是否已选择网站,如果已选择网站,我需要确定是否已选择一个或多个列表项,如果是,请继续删除这些项目。

我的 if 语句一直返回"您必须首先选择您的列表",即使它们被选中。

function deleteList(){
  if(!siteUrl){
    alert("You must first select a site");
    return;
  }else if (siteLists.selectedIndex == null){
    alert('You must first select your list(s)');
    return;
  }else{
    var arrList = siteLists.val(); 
    var listIndex;
    var removeConfirm = confirm("Are you sure you want to delete these lists?")
    if(removeConfirm){
      for(listIndex = 0; listIndex<arrList.length;listIndex++){
        $().SPSservices({
          operation: "DeleteList",
          webUrl: siteUrl,
          listName: arrList[listIndex],
          completefunc: function(){
            RefreshSiteList(siteUrl);
            alert("Selected lists have been deleted");
          }
        });
      }        
    }
  }
}

.HTML

    <select id="web_siteLists" style="width:150px;height:150px;" multiple="multiple">
<option value="{041D004F-3BD7-41C2-BE02-F166A6970FDA}">Announcements</option>
<option value="{92E428BF-6F94-47D5-B9EF-446F62827749}">Calendar</option>
<option value="{F8F92E1D-4CF0-4E80-B037-1867BD8A35B2}">Links</option>
<option value="{1E0BD0DF-D4A0-4C27-8F3F-5E4AB4FAFBB4}">Master Page Gallery</option>
<option value="{DF86CAA5-B365-484D-8792-9771E10768E0}">Team List 3</option>
<option value="{5FD4247D-3C54-4D9A-8F0F-E4C374D966B0}">Team List 4</option>
<option value="{E7CBEC72-7A63-414A-8F3C-18579A3FC7D7}">Team List 5</option>
</select>

由于您在注释中指出您的变量siteLists是一个 jquery 对象,因此您需要更改: siteLists.selectedIndex == null){

if(siteLists.get(0).selectedIndex == -1){

由于对象不会定义该方法,因此为 null。 .get()将检索与 jQuery 对象匹配的 DOM 元素。将空值更改为 -1。 如果您没有选择任何内容,selectedIndex将为 -1。看到这个小提琴:http://jsfiddle.net/R6YM8/

"

我试过这个,但现在当什么都没有选择时,它不会返回警报"

如果未选择任何内容,则 selectedIndex 属性将-1

因此:

if (siteLists.prop('selectedIndex') === -1) {/*nothing selected*/}
相关文章: