动态选择框更改事件在codeigniter中不起作用

时间:2014-02-03 09:06:11

标签: php html codeigniter

我正在动态下降: -

控制器: -

function get_model_by_make()
{
    $str = $this->Comparecars_model->get_model_by_make();
    echo $str;      
}

型号: -

function get_model_by_make()
    {
        $sql = "SELECT
                    *
                FROM
                    model
                WHERE
                    makeid = '".$_POST['make_id']."'
                ";

        $result = $this->db->query($sql)->result_array();

        $str = '<select style="width:130px;" class="compare_model_name">
                    <option value="">--Select Model--</option>
                ';

        foreach($result as $result)
        {
            $str .= '<option value="'.$result['model_id'].'">'.$result['model_name'].'</option>';       
        }

        $str .= '</select> - ';
         return $str;
    }

上面的代码显示了类名为compare_model_name的selectbox。现在我尝试将更改事件添加到此类名称,但它不起作用: -

$(document).ready(function()
{    
    $('.compare_model_name').on("change",function()
    {
            alert(); // It does not alert
    }); 
});

此外,控制台未显示任何错误。

修改: -

查看: -

  <select style="width:130px;" id="drpMake1" name="drpMake1" class="compare_make_name">
        <option value="">--Select Make--</option>
                <?php
                    foreach($make as $make)
                    {
                        echo '<option value="'.$make['make_id'].'">'.$make['make_name'].'</option>';
                    }
                ?>    

    </select> - <!-- On selecting it will bring new selectbox which is shown below -->


    <span id="model_span">
        <select style="width:130px;" class="aspNetDisabled" disabled="disabled" id="drpModel1" name="drpModel1">
                <option value="0" selected="selected">--Select Model--</option>

        </select> 

</span> 

1 个答案:

答案 0 :(得分:1)

希望您需要在<span id="model_span">之前下新的下拉列表 然后在视图文件中添加以下行。

<select style="width:130px;" class="compare_model_name">

</select>

然后在你的ajax成功中,添加

等选项
$(".compare_model_name").html(options);

在您的模型函数get_model_by_make中,删除<select></select>行。 然后分配您的$str = ' <option value="">--Select Model--</option>';

注意:请勿在模型中执行此类echo。相反,你必须在控制器中做所有事情。模型应该只有DB类型的编码。不回声或逻辑部分。遵循MVC结构: - )