【问题标题】:How to get input tag and option tag separately and load inside div and inside select如何分别获取输入标签和选项标签并在 div 和 select 内部加载
【发布时间】:2017-05-27 22:43:45
【问题描述】:

我有空的<div><select> 想在 ajax 响应后在 div 和 select 内加载标签和输入标签。我该怎么做?

这是回复

我想分别为<div> 提取标签和输入,并为<select> 提取选项。 这是我的代码:

<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']);
    }

我不知道为什么。我只需要复选框而不是非复选框。

【问题讨论】:

  • 任何一个?????????

标签: javascript jquery html codeigniter


【解决方案1】:

你可以使用filter():

$('#student').html($(data).filter('option'));
$('#state').html($(data).filter('label'));

【讨论】:

  • 说对象对象
  • @user3162878 哦,对不起,find 不起作用,请尝试使用filter;查看更新的答案。
【解决方案2】:

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

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

    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]);
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-08
    • 2011-05-26
    • 1970-01-01
    • 2011-08-11
    • 2013-07-30
    • 2019-09-23
    相关资源
    最近更新 更多