2013-11-15 76 views
1

我试图在使用角度的隐藏输入中传递值数组。这是我到目前为止的代码:在隐藏输入中传递数组

<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"] 

任何想法如何我可以修复这个?

+0

您是否在为您的服务器使用PHP?如果你是,'json_decode'会起作用。 –

+0

不,我正在使用导轨 – Rob

回答

1

Got it!

这是一个有趣的一个:

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

由于它全部隐藏,这里的目的是什么?将字段添加到验证对象? – Olivvv

0

我想这是因为角度存储阵列作为隐藏字段的字符串,而不是实际的数组。所以只需将它串化为JSON并在后端解码即可。