根据表单(input)值变化不刷新从服务器端读取数据显示下拉列表

22 篇文章 0 订阅
13 篇文章 0 订阅

View的代码

<div id="community-ajax"></div>
    <?php $form = ActiveForm::begin(); ?>

    <?= $form->field($model, 'community')->textInput() ?>
    <div class="form-group">
        <label class="control-label">&nbsp;</label>
        <?= Html::submitButton($model->isNewRecord ? '添加' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
    </div>

    <?php ActiveForm::end(); ?>

<script>
    $(document).ready(function(){
        $("#second-community").on('input propertychange', function(){
            $("#community-ajax").load('?r=test/ajax&str=' + $("#second-community").val(), function(){
                        $("p.hitp").click(function(){
                            $("#second-community").val($(this).text());
                            $("#community-ajax").css("display", "none");
                        });
            });
            $("#community-ajax").css("display", "block");
        });
    })
</script>
<style>
    #community-ajax{
        position:absolute;
        border:1px solid #ccc;
        background:white;
        left:365px;
        top:169px;
        width:300px;        
        display:none;
    }
    #community-ajax p{
        line-height:32px;
    }
    #community-ajax p:hover{
        background:#eee;
    }
</style>

Controller的代码

    public function actionAjax($str){
        $result = "";
        $communities = BaseCommunity::find()->where("name like '%" . $str . "%'")->limit(10)->all();
        foreach($communities as $c){
            $result .= '<p class="hitp">' . $c->name . '</p>';          
        }
        //echo $result;
        return $result;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值