-1

我有一个用于多选省份列表的 div,当我单击每个选项时,它会移动到另一个框(用户可以选择多个省份)。另一个用于多选地区的 div。

    <div>
        <select multiple class="multiselect" id="province" name="province">  
            <?PHP foreach($provinces->result() as $province){ ?>
                 <option value="<?=$province->id?>"><?=$province->name?></option>
            <?PHP } ?>  
       </select> 
    </div>
    <div id="district_div">
        <select multiple class="multiselect" id="district" name="district" >  
        </select>
    </div>  

省份列表正确,用户可以选择多个省份。但我需要的是省选择标签的onchange,以将所选省份的地区放入district_div。我有用于 onchange 的 ajax 来带区:

    function bring_page(page,name,id,divname,str)
{
     var dropdownIndex = document.getElementById(name).selectedIndex;
     var dropdownValue = document.getElementById(name)[dropdownIndex].value;
     var url=page;
     var params='&'+id+'='+dropdownValue+'&'+str;

     //call ajax 
     makerequest_sp(url, params, divname);
}

函数bring_page 是正确的并且适用于正常选择。我认为问题出在引导程序上。我正在使用引导程序的插件。

感谢帮助

4

1 回答 1

0

您需要在循环中获取选项的值,因为您将有多个。我不知道您的后端如何期待数据,但这样的事情可能会奏效。

function bring_page(page, name, id, divname, str) {
     var url=page;
     var params = "&" + id +"=";

     var dropdown = document.getElementById(name);
     var options  = dropdown.options;
     var values = [];
     for (var i = 0; i < options.length; i++) {
        if (options[i].selected) {
            values.push(options[i].value);
        }
     }

     params += values.join(",");


     //call ajax 
     makerequest_sp(url, params, divname);
}
于 2013-10-29T07:54:19.093 回答