我使用CGridView创建了一个表,在表中包含允许用户插入值的输入文本字段。问题是我可以从没有输入字段的表中获取文本,但不能使用包含输入字段的文本。
腓:
<?php
$this->widget('zii.widgets.grid.CGridView',array(
'id' => 'oc-list-upgradeRule',
'dataProvider' => $upgradeRuleDataProvider,
'selectableRows' => 2,
'summaryText' => '',
'columns' => array(
array(
'header' => '',
'id' => 'chkbox',
'name' => 'checkBox',
'class' => 'CCheckBoxColumn',
),
array(
'header' => 'Min. Spending Amount',
'id' => 'minSpendingAmount',
'name' => 'minSpendingAmount',
'type' => 'raw',
'value' => 'CHTML::textField("",$data["minSpendingAmount"],array())',
'htmlOptions'=>array(
'style'=>'text-align: center;'
)
)
)
));
?>
使用Javascript:
$(document).on('change', 'input', function () {
var upgradeRenewDowngrade = $('.oc-upgrade-renew-downgrade');
upgradeRenewDowngrade.find('.oc-save-upgrade-downgrade-rules').click(function (e) {
var sel = $.fn.yiiGridView.getChecked('oc-list-upgradeRule', 'chkbox');
var row = $.fn.yiiGridView.getRow('oc-list-upgradeRule', sel);
var minSpendAmount = row.get(5);
var input = $(minSpendAmount).html();
//console.log($(input).val());
console.log(minSpendAmount);
})
})
从上面的代码中,我只能将输入文本字段与td一起使用。
<td style="text-align: center;">
<input type="text" value="365" name id>
</td>
如何获取输入文本值?您可以建议其他方式从CGridView获取值。感谢。
答案 0 :(得分:0)
好的,所以......
用你的代码玩一点,我最终得到了这个:
// Here, I only set my variable to be the same as yours
var minSpendAmount = '<td style="text-align: center;"> <input type="text" value="365" name id></td>';
// Code you may do instead of your current console.log(minSpendAmount)
var input = $(minSpendAmount).html();
console.log($(input).val());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
告诉我这是否对你有所帮助。