Javascript 如何分别获取输入标记和选项标记,并加载内部div和内部select

Javascript 如何分别获取输入标记和选项标记,并加载内部div和内部select,javascript,jquery,html,codeigniter,Javascript,Jquery,Html,Codeigniter,我有空的,希望在ajax响应后在div和select中加载标签和输入标签。我该怎么做 以下是回应 我想分别提取标签和输入(&extract)选项。 这是我的密码: <div class="form-group"> <select id="student" name="student" class="form-control" onchange="getName(this.value)"> </select> </div> <div nam

我有空的,希望在ajax响应后在div和select中加载标签和输入标签。我该怎么做

以下是回应

我想分别提取标签和输入(&extract)选项。 这是我的密码:

<div class="form-group">
<select id="student" name="student" class="form-control" onchange="getName(this.value)">

</select>
</div>
<div name="state" id="state">



</div> 

<script>
function getschool() {
var st = $('#school option:selected').val();

$.ajax({
    type: "POST",
    url: '<?php echo base_url();?>Choice/student',
    type: 'POST',
        data: {
            // fname: fname
            st:st



        },
        dataType: 'text',
        success: function(data) {
            alert(data);
            //alert(data[0].id);
            // for(k in data){
                // alert(data[k].id);
                $('#student').html(data);
               //$('#state').html(data.input);
                $('#state').html(data);
            // }
            //$('body').html(data);
            // console.log(data);
            //alert(data);
            //alert("Succesful ");
            //location.reload(false);
            //window.location.href = "http://localhost:8080/choicelaunch/Choice/order_fullmenu";
        }

});
}

</script>
这样做之后,我得到了div中的所有内容,比如:

另外,我从我的Codeigniter控制器得到了这个响应:

public function student()
    {
        $sch= $this->input->post('st');
        $swt=$this->data['school'] = $this->catering_model->selstu($sch);

        //echo(json_encode( $swt));
        if(!empty($swt))
        {
            if(($sch == "1"))
            {
                echo ('<label class="checkbox-inline">
                <input type="checkbox" id="offer1" name="offer" value="Monday">Monday
                </label>');

            }
            foreach($swt as $in)
            {

                echo ('<option value="'.$in->id.'" select="select">'.$in->fname.'&nbsp;'.'</option>');


            }

        }


        //var_dump($data['school']);
    }
我不知道为什么。我只需要复选框,不需要非复选框

您可以使用过滤器:


我知道这有点棘手。但是,试试这个

为什么不尝试在控制器上的div内容和select内容之间添加分隔符呢。我的意思是:

    public function student()
    {
        $sch= $this->input->post('st');
        $swt=$this->data['school'] = $this->catering_model->selstu($sch);

        //echo(json_encode( $swt));
        if(!empty($swt))
        {
            if(($sch == "1"))
            {
                echo ('<label class="checkbox-inline">
                <input type="checkbox" id="offer1" name="offer" value="Monday">Monday
                </label>');

            }
            echo "@@"; //the separator
            foreach($swt as $in)
            {

                echo ('<option value="'.$in->id.'" select="select">'.$in->fname.'&nbsp;'.'</option>');


            }

任何一个物体都会说object@user3162878哦,抱歉,find无法工作,请尝试使用筛选器;请参阅更新的答案。
    public function student()
    {
        $sch= $this->input->post('st');
        $swt=$this->data['school'] = $this->catering_model->selstu($sch);

        //echo(json_encode( $swt));
        if(!empty($swt))
        {
            if(($sch == "1"))
            {
                echo ('<label class="checkbox-inline">
                <input type="checkbox" id="offer1" name="offer" value="Monday">Monday
                </label>');

            }
            echo "@@"; //the separator
            foreach($swt as $in)
            {

                echo ('<option value="'.$in->id.'" select="select">'.$in->fname.'&nbsp;'.'</option>');


            }
    success: function(data) {
        alert(data);
        var res = data.split("@@");
        $('#student').html(res[0]);
        $('#state').html(res[1]);
    }