angular 同一个form中怎么获取到input[radio]和input[checked]的值?类似问卷功能

一个类似问卷调查的功能需求:在同一个表单中有单选和多选,在post提交的时候怎么同时获取单选和多选的ng-model值(注:单选与多选的出现先后顺序不固定),而提交的时候的参数设置必须是{题号1,答案;题号2,答案1,答案2}类似这种结构。现在只能单独获取到单选的值和多选的值,代码如下:

<from>
    <li ng-repeat="item in ques.ques_items">
        <h4>
            <span class="index" ng-bind="item.ques_item_id"></span>
            <span class="blue">
                [
                <i ng-if="item.ques_item_type==1">单选</i>
                <i ng-if="item.ques_item_type==2">多选</i>
                ]
            </span>
            <span ng-bind="item.ques_item_title"></span>
      </h4>
      <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}}" 
                    ng-value="{{item.ques_item_id+nums.ques_item_option_id}}" 
                    id="{{nums.ques_item_option_id}}" 
                    title="{{nums.ques_item_option}}" 
                    ng-model="$parent.$parent.$parent.option_id" 
                    ng-if="item.ques_item_type==1"
            />
            <!-- 多选 -->
            <input class="magic-checkbox" 
                    type="checkbox" 
                    name="{{nums.ques_item_option}}" 
                    id="{{nums.ques_item_option_id}}" 
                    ng-model="nums.selected"  
                    ng-true-value="'{{nums.ques_item_option_id}}'" 
                    ng-false-value="'NO'" 
                    ng-checked="num.selected"  
                    ng-disabled="datas.ques_item_is_voted==1" 
                    ng-if="item.ques_item_type==2" 
                    ng-checked="nums.selected"
                />
                <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>
</from>

各位路过的大神,有什么方法可做到?拼接字符串?

阅读 1.6k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进