在隐藏的输入中传递数组

时间:2013-11-15 21:49:39

标签: javascript angularjs

我正在尝试使用angular传递隐藏输入中的值数组。到目前为止,这是我的代码:

<input type="hidden" name="drug[drug_class_ids][]" value="{{selectedDrugClassIds()}}"/>

,其中

$scope.selectedDrugClassIds = function ()
{
    var selected_drug_class_ids = [];
    for (var x in $scope.selected_drug_classes)
    {
        selected_drug_class = $scope.selected_drug_classes[x];
        console.log(selected_drug_class);
        selected_drug_class_ids.push(selected_drug_class.id);
    }

    return selected_drug_class_ids;
};

但是这给了我不正确的

"drug_class_ids"=>["[15,5,8]"]

我需要的地方

"drug_class_ids"=>["15", "5", "8"]

我有什么想法可以解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

知道了!

这是一个有趣的问题:

    <div ng-repeat="drug_class in selected_drug_classes">
      <input type="hidden" name="drug[drug_class_ids][]" value="{{drug_class.id}}"/>
    </div>

答案 1 :(得分:0)

我认为这是因为angular将数组存储为隐藏字段中的字符串而不是实际数组。因此,只需将其字符串化为角度的json,然后在后端对其进行解码。