2015-11-06 46 views
1

这是我的形式与CheckBoxList的arrayhalper:的CheckBoxList使用arrayHalper并获得价值yii2

<div class="form-group"> 
    <?= $form->field($model, 'reg_id')->checkboxList(
     arrayHelper::Map(Riders::find()->where(['user_id' => Yii::$app->user->identity->id])->all(),'rider_id', 
      function($model) { return **$model->rider_firstname . " (" . $model->cagoriesCategory->category_name . ")"**; }), 
     ['class' => 'checkbox-inline', 'id' => 'person' ]), ?> 
</div> 

标签的正常工作,例如:Jilly (MasterA)。但我想要与标签产生价值差异,例如Jilly:MasterA。如何给这样的值?

+0

我不明白你需要什么。请更好地解释... – scaisEdge

+0

抱歉给语言错误。一个简单的例子就像这样''input type =“checkbox”id =“person”value =“Ristha:MasterA”> Ristha(MasterA)'@scaisEdge – Stfvns

回答

0

它的工作我想要什么,感谢到@GAMITG

<div class="form-group"> 
    <?= $form->field($model, 'reg_id')->checkboxList( 
    arrayHelper::Map(Riders::find()->where(['user_id' => Yii::$app->user->identity->id])->all(), function($model) { return $model->rider_firstname . ":" . $model->cagoriesCategory->category_name; }, 
     function($model) { return $model->rider_firstname . " (" . $model->cagoriesCategory->category_name . ")"; }), 
    ['item' => function($index, $label, $name, $checked, $value) { 
     $return = '<label>'; 
     $return .= '<input type="checkbox" name="' . $name . '" value="' . $value . '" class="checkbox-inline" id="person1">'; 
     $return .= '<span>' . ucwords($label) . '</span>'; 
     $return .= '</label>'; 
     return $return; 
    } ]); ?> 
</div> 

然后JavaScript代码CEK它:

$('[id="person1"]:checked').each(function() { 
    var arr = $(this).val(); 
    alert(arr); 
}); 
1

您需要更改数组值的语法。像如,

<div class="form-group"> 
    <?= $form->field($model, 'reg_id')->checkboxList(
     arrayHelper::Map(Riders::find()->where(['user_id' => Yii::$app->user->identity->id])->all(), function($model) { return $model->rider_firstname . " : " . $model->cagoriesCategory->category_name; }, 
      function($model) { return $model->rider_firstname . " (" . $model->cagoriesCategory->category_name . ")"; }), 
     ['class' => 'checkbox-inline', 'id' => 'checkbox' ]); ?> 
</div> 
+0

谢谢,我想要这样的价值,因为可以让我轻松地分裂显示在表 – Stfvns

+0

对不起,当我使用上面的简单示例正常工作时,我显示使用警报'$('#idOfButton')。click(function(){$('[id =“person”]:checked') .each(function(){var arr = $(this).val(); alert(arr);});});'但是当我使用arrayhelper时,它不起作用。 @GAMITG – Stfvns

+0

你得到了什么错误? – GAMITG