我想通过parseJSON(数据)显示十进制格式。
ActiveFrom通过parseJSON(数据)从模型B获取数据。 (两种数据类型都是十进制(15,2)
这里ActiveFrom A
<?= $form->field($model, 'budget_id')->widget(Select2::className(),
[
'data' => ArrayHelper::map(Budget::find()->all(), 'id', 'description'),
'options' => ['placeholder' => 'Select ...', 'id'=>'code',],
'pluginOptions' => ['allowClear' => true,],
'disabled' => !$model->isNewRecord,
]); ?>
<?= $form->field($model, 'budget')->textInput(['readonly' => true,'disabled' => !$model->isNewRecord,]) ?>
<?= $form->field($model, 'actual')->textInput(['readonly' => true, 'type' => 'decimal','disabled' => !$model->isNewRecord,]) ?>
<?= $form->field($model, 'available')->textInput(['readonly' => true,'disabled' => !$model->isNewRecord,]) ?>
从budget_id
下拉列表中选择数据,并通过parseJSON(数据)获取budget
,actual
和available
数据
JQuery parseJSON(data)
$script = <<< JS
$('#code').change(function(){
var ioId = $(this).val();
$.get('../budget/get-data',{ ioId : ioId }, function(data){
var data = $.parseJSON(data);
$('#budget_budget').val(data.budget);
$('#budget_actual').val(data.actual);
$('#budget_available').val(data.available);
});
});
模型规则()
[['amount', 'actual', 'available','budget'], 'number'],
如何通过从parseJSON(数据)获取数据来显示十进制格式。
答案 0 :(得分:0)
您可以使用yii2-money
创建格式化输入,该输入将自动处理所有输入的货币格式,示例用法如下所示。
运行
$ php composer.phar require kartik-v/yii2-money "dev-master"
或添加
"kartik-v/yii2-money": "dev-master"
到require
文件的composer.json
部分..
<?=
$form->field ( $model , 'budget' )->widget ( MaskMoney::classname () , [
'pluginOptions' => [
'prefix' => '$ ' ,
'suffix' => ' ¢' ,
'allowNegative' => false
]
] );
?>
有关详细用法,请参阅HERE
。