为了账号安全,请及时绑定邮箱和手机立即绑定

根据 codeigniter 中的条件下拉

根据 codeigniter 中的条件下拉

PHP
森栏 2023-10-15 16:33:56
我需要根据条件显示一个下拉菜单。以下是视图页面中的下拉菜单。property table其中列出了从具有字段的位置获取的属性名称type status,其值为sale或lease。如果房产类型状态为“销售”,则它必须显示一个下拉菜单,其中包含选项“ ”available和sold。如果是,lease那么occupied和vacancy。property name并type status插入到property form. 条件适用于unit form. property name给出下拉菜单的地方。基于此,它必须显示另一个带有 或 的下拉sold and available菜单occupied and vacant。我希望我的问题很清楚。我试图解释一下。请帮助我做到这一点。提前致谢<div class="form-group col-md-6">    <label class="control-label">Property Name<span class="manda">*</span> </label>    <select class="form-control" name="pId" id="property">        <option value="0">Choose....</option>                <?php        if ( $property ) {                        foreach ( $property as $row ) {                                echo "<option value='" . $row->pId . "'>" . $row->name . "</option>";            }                    } ?>    </select>    <span class="error invalid-feedback"></span></div>当我从上面的下拉列表中选择一个选项(例如属性名称)时,就会发生更改事件。<script type="text/javascript">    $( "document" ).ready( function () {        $( "#property" ).change( function () {            var property_id = $( this ).val();            $.ajax( {                url: '<?php echo base_url( 'admin/Unit/get_type_status' )?>',                type: 'POST',                data: { property_id: property_id },                dataType: 'json',                success: function ( response ) {                    console.log( response );                    if ( response == "Sale" ) {                        $( "#sale" ).show();                    } else {                        $( "#lease" ).show();                    }                }            } );        } );    } );</script>这不起作用我不知道如何根据条件显示下拉菜单。
查看完整描述

1 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

响应是一个对象,而不是字符串。您必须访问该属性type_status才能检查该值。


将您的脚本更改为以下内容


<script type="text/javascript">

    $( "document" ).ready( function () {

        

        const sale = $( "#sale" );

        const lease = $( "#lease" );

        

        // hide both elements at start

        sale.hide();

        lease.hide();

        

        $( "#property" ).change( function () {

            const property_id = $( this ).val();


            $.ajax( {

                url: '<?php echo base_url( 'admin/Unit/get_type_status' )?>',

                type: 'POST',

                data: { property_id: property_id },

                dataType: 'json',

                success: function ( response ) {

                    console.log( response );

                    

                    // check the property 'type_status'

                    if ( response.type_status == "Sale" ) { 

                        lease.hide();

                        sale.show();

                    } else {

                       sale.hide();

                       lease.show();

                    }

                }

            } );

        } );

    } );

</script>

并使用这个 HTML


<div class="form-group col-md-6">

    <label class="control-label">Property Status<span class="manda">*</span> </label>

    <div id="sale">

        <select class="form-control" name="typeStatus" id="typeStatus">

            <option value="0">Choose....</option>

            <option value="Available">Available</option>

            <option value="Sold">Sold</option>

        </select>

    </div>

    <div id="lease">

        <select class="form-control" name="typeStatus" id="typeStatus">

            <option value="0">Choose....</option>

            <option value="Occupied">Occupied</option>

            <option value="Vacancy">Vacancy</option>

        </select>

    </div>

</div>


查看完整回答
反对 回复 2023-10-15
  • 1 回答
  • 0 关注
  • 96 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信