声明的变量读取为null

时间:2013-10-01 04:58:54

标签: javascript jquery html

我声明了两个变量usergroup。当我运行函数removeGroupFromSite()时,它会提醒我说请选择一个组,但变量返回 null 。我认为这是因为它获得了选择的值而不是选定的选项?如何在这些变量中获得所选选项的值?

var user, group, strHTMLSiteUsers, strHTMLSiteGroups, strHTMLAvailable, strHTMLAssigned, arrOptionsAssigned, arrGroups, arrUsers, intOpts, booMatch, booErr;

$(document).ready(function(){ 
    user = $('#my_SiteUsers');
    group = $('#my_SiteGroups');
    groupsAssigned = $("#my_SPGroupsAssigned");
    groupAvailable = $("#my_SPGroupsAvailable");
    userAssigned = $("#my_SPUsersAssigned").html("");
    userAvailable = $("#my_SPUsersAvailable").html("");

    $("button").click(function() { return false; });

    populateUsers();
    populateGroups();
});

function removeGroupFromSite(){
  //check if default group selected 
  alert('cp'+group.val());
  if(group.val() !== "default"){
    var removeConfirm = confirm("Are you sure you want to delete group: " + group.val());
    if(removeConfirm){
      $().SPServices({
        operation:"RemoveGroup",
        groupName: group,
        async:true,
        completefunc: function (xData,Status){
            alert(group + " succesfully deleted");
        }
      });
    }
  }else{
    alert("Please select a group");
  }
}

HTML

<select id="my_SiteGroups" style="width:200px;" onchange="RefreshUserLists()">
        <option value='default' disabled="disabled">Select a group</option>
      </select>

1 个答案:

答案 0 :(得分:1)

简单修复

disabled="disabled"

中删除<option>

disabled属性不会带有 DOM 的值,因为它已被禁用。

Reference

<强>停用

  

此布尔属性表示表单控件不是   可用于互动。特别是,点击事件不会   在禁用控件上发送。此外,禁用控件的值   未随表单提交。如果值,则忽略此属性   类型属性的隐藏。