使用javascript在td中获取输入文本值

时间:2018-03-30 08:43:22

标签: javascript jquery

我使用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获取值。感谢。

1 个答案:

答案 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>

告诉我这是否对你有所帮助。