<select multiple data-rel="chosen" name="favor" id="favor">
            <c:forEach var="c" items="${main}">
            <option value="${c.id}">${c.name}</option>
            </c:forEach>
           </select> 
           <a class="btn" onclick="byFavorSearch();"</i>查找</a>
写个byFavorSearch()函数能搞定吗?大神快来救我~JavaScriptselect

解决方案 »

  1.   

    表单提交,浏览器会帮你处理所有选择的值,一定要ajax获取,遍历就行了<select multiple data-rel="chosen" name="favor" id="favor">
                <option value="1">1</option>
                <option value="2">2</option>
                <c:forEach var="c" items="${main}">
                <option value="${c.id}">${c.name}</option>
                </c:forEach>
               </select> 
               <a class="btn" onclick="byFavorSearch();"</i>查找</a><script>
    function byFavorSearch(){
     var sel=document.getElementById('favor');
      var s='';
      for(var i=0;i<sel.options.length;i++)
        if(sel.options[i].selected)s+=','+sel.options[i].value;
      s=s.substring(1);
     alert(s)
    }
    </script>
      

  2.   

    那怎么传到对应的action类呢????怎么用ajax?
      

  3.   

    function byFavorSearch(){
     var sel=document.getElementById('favor');
      var s='';
      for(var i=0;i<sel.options.length;i++)
        if(sel.options[i].selected)s+=','+sel.options[i].value;
      
      $.ajax({
      type: "POST",
      url: "你的action地址",
      data: "favor="+s.substring(1)
      });
    }