一个类似问卷调查的功能需求:在同一个表单中有单选和多选,在post提交的时候怎么同时获取单选和多选的ng-model值(注:单选与多选的出现先后顺序不固定),而提交的时候的参数设置必须是{题号1,答案;题号2,答案1,答案2}类似这种结构。现在只能单独获取到单选的值和多选的值,代码如下:
<form> <ul> <li ng-repeat="item in ques.ques_items"> <div class="opt" ng-repeat="nums in item.ques_item_options track by nums.ques_item_option_id"> <!-- 单选 --> <input type="radio" class="magic-radio " name="{{nums.ques_item_option}}" value="{{item.ques_item_id}},{{nums.ques_item_option_id}}" id="{{nums.ques_item_option_id}}" title="{{nums.ques_item_option}}" ng-model="formdata.option_id" ng-if="item.ques_item_type==1" ng-required="required" /> <!-- 多选 --> <input class="magic-checkbox" type="checkbox" name="{{nums.ques_item_option}}" id="{{nums.ques_item_option_id}}" ng-model="formdata.ques_item_option_id" ng-true-value="'{{item.ques_item_id}},{{nums.ques_item_option_id}}'" ng-false-value="'NO'" ng-checked="formdata.selected" ng-disabled="datas.ques_item_is_voted==1" ng-if="item.ques_item_type==2" ng-checked="nums.selected" ng-required="required" /> <label for="{{nums.ques_item_option_id}}"> <p class="right"> <i ng-bind="nums.ques_item_option_id">A</i> <i ng-bind="nums.ques_item_option">男</i> </p> </label> </div> </li> <div class="submit"><span>提交</span></div> </ul> </form>
怎么在post提交的时候获取到单选和多选框的值?现在有尝试过新建一个$scope.formdata={},然后在ng-model中分别使用formdata.ques_item_option_id 和formdata.option_id 疑问如下:
1、多选框只能选择一个了,不知道什么原因;
2、因为服务端要求上传的参数格式是
每道题以分号隔开,每首题答案以逗号隔开(第一个是选项id,紧接着是选项id)
如2,2;3,4,5 则表示 问题(id=2)选择了选项(id=2)【单选题】,问题(id=3)选择了选项(id=2和id=3)【多选题】
请问有什么方式实现?找了很多文档,但是没有发现可行方案,求救啊,各位路过的大神
相关分类