2017-05-27 64 views
0

我有Ajax响应后空<div><select>要加载里面的div和option标签和输入标签内选择。我会怎么做?如何获得单独的输入标签和选项标记和负载内的div和内选择

这里是响应 enter image description here

我想单独提取标签和输入为<select><div> &提取选项。 这里是我的代码:enter image description here

加上我从我的笨控制器得到这个的回复::

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

我天玑KNW

<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等之后为什么。我只需要复选框不是非复选框。

+0

任何一个????????? – user3162878

回答

1

你可以使用filter()

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

m nt得到结果。它什么都没显示 – user3162878

+0

anyidea ???????? – user3162878

+0

jquery error说:“data.find不是函数” – user3162878

0

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

你为什么不尝试添加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]); 
    }