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

Javascript 确定是否在if语句中选择了任何选项,javascript,jquery,html,Javascript,Jquery,Html,我有一个删除按钮: 我试图首先确定是否选择了一个站点,如果选择了一个站点,我需要确定是否选择了一个或多个列表项,如果选择了,则继续删除这些项 我的if语句不断返回“您必须首先选择您的列表”,即使它们已被选中 function deleteList(){ if(!siteUrl){ alert("You must first select a site"); return; }else if (siteLists.selectedIndex == null){ al

我有一个删除按钮:

我试图首先确定是否选择了一个站点,如果选择了一个站点,我需要确定是否选择了一个或多个列表项,如果选择了,则继续删除这些项

我的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");
          }
        });
      }        
    }
  }
}
函数deleteList(){
如果(!siteUrl){
警报(“您必须首先选择一个站点”);
返回;
}else if(siteLists.selectedIndex==null){
警报('您必须首先选择您的列表');
返回;
}否则{
var arrList=siteLists.val();
var指数;
var removeConfirm=confirm(“确实要删除这些列表吗?”)
如果(RemoveConfig){

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

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

因为对象不会将该方法定义为null。
.get()
会将null更改为-1。
selectedIndex
如果未选择任何内容,则将为-1。请参阅此提琴:

“我尝试了此操作,但现在它不会在未选择任何内容时返回警报”

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

因此:

if (siteLists.prop('selectedIndex') === -1) {/*nothing selected*/}

您实际在哪里定义
siteLists
我有一个现成的函数来获取元素:siteLists=$(“#web_siteLists”);它是一个全局变量。否则,我将得到一个未定义的变量。您是否在dom ready上选择它?如果不是,它将不存在。我将在document ready上声明并获取所有元素。让我运行控制台日志,确保返回正确的项进行双重检查。对不起,得到了什么(0)在这里做什么?我看了文档,似乎是一个AJAX调用。我尝试了这个,但现在它没有在未选择任何内容时返回警报。有两个方法名为get Unfortunally。我更新了我的答案以显示这一点。
siteLists.prop('selectedIndex'))==-1
就可以了,
selecteIndex
从来都不是空的。嗯,尝试过,但也没用。它转到确认,尽管我没有选择任何选项。
if (siteLists.prop('selectedIndex') === -1) {/*nothing selected*/}