Javascript 确定是否在if语句中选择了任何选项
我有一个删除按钮: 我试图首先确定是否选择了一个站点,如果选择了一个站点,我需要确定是否选择了一个或多个列表项,如果选择了,则继续删除这些项 我的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
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*/}