2013-03-31 50 views
1

我使用的埃裏克·海因茲多選控制: http://www.erichynds.com/blog/jquery-ui-multiselect-widgetjQuery的多選.VAL()不符合「getChecked」

控制似乎工作確定,除了當我嘗試並獲得數值,.VAL()方法不會給我所有選中的項目 - 它只會給我一個選定列表中的單個項目。要獲取所有項目,我需要使用更長的表單: var values = $(「#retailersSelect」)。multiselect(「getChecked」)。map(function(){return this.value;} )。得到();

任何想法爲什麼.val()不會給我一個結果數組?

HTML全文:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> 
<head> 
    <title>Test Page</title> 
    <link href="/css/redmond/jquery-ui-1.10.2.custom.css" rel="stylesheet" type="text/css" /> 
    <link href="/css/jquery.multiselect.css" rel="stylesheet" type="text/css" /> 
    <script type="text/javascript" src="/js/jquery-1.9.1.js"></script> 
    <script type="text/javascript" src="/js/jquery-ui-1.10.2.custom.js"></script> 
    <script type="text/javascript" src="/js/jquery.multiselect.js"></script> 
</head> 
<body> 
    <form action="test.htm" method="post"> 
     <div id="main"> 

      <select id="retailersSelect"> 
       <option value=""></option> 
       <option value="1">1</option> 
       <option value="2">2</option> 
       <option value="3">3</option> 
       <option value="4">4</option> 
      </select> 

      <br /> 
      <input type="button" id="ExecuteReportButton" value="Butt" /> 

      <script type="text/javascript"> 
       $(function() { 

        //set up the multi selects 
        $("#retailersSelect").multiselect({ 
         selectedList: 3, // 0-based index 
         header: false, 
         noneSelectedText: "Select a retailer" 
        }); 

        $("#ExecuteReportButton").click(function() { 
         var values = $("#retailersSelect").multiselect("getChecked").map(function() { 
          return this.value; 
         }).get(); 
         alert(values); //GIVES ME THE FULL ARRAY - NICE! 

         var values2 = $("#retailersSelect").val(); 
         alert(values2); //ONLY GIVES ME A SINGLE ITEM - :(

         return false; 
        }); 
       }) 
      </script> 
     </div> 
    </form> 
</body> 
</html> 

回答

2

你忘了東西在你的標記非常重要。你沒有設置你的select實際接受多個值。

<select multiple id="retailersSelect"> 
+0

哦,男人..我花了多少時間試圖追蹤這件事。謝謝! – PMac