我有空<div>
和<select>
想要在ajax响应之后加载div中的标签和输入标签以及选择内的option
。我该怎么做?
我想单独提取<div>
&amp;的标签和输入。提取<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>
另外,我从我的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.' '.'</option>');
}
}
//var_dump($data['school']);
}
我知道为什么。我只需要复选框而不是非复选框。
答案 0 :(得分:1)
您可以使用filter()
:
$('#student').html($(data).filter('option'));
$('#state').html($(data).filter('label'));
答案 1 :(得分: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.' '.'</option>');
}
然后,在成功接收数据后,尝试将其拆分。
success: function(data) {
alert(data);
var res = data.split("@@");
$('#student').html(res[0]);
$('#state').html(res[1]);
}