我正在使用Yii2-advanced-app。我想将我选择的下拉列表的值发送到同一页面上的php代码(显示带复选框的列表)。请参阅以下图片以供参考(实际上我想要的是这样) -
但是,从下拉列表中选择一些元素后,我得到了结果,但是在该特定部分中有整个html页面。这是Snap供参考 -
我不明白为什么我要将整个页面作为回应。
我为此编写了以下代码 -
下拉列表
<?= $form->field($countries[0], 'id')->dropDownList(
ArrayHelper::map($countries, 'phonecode', 'name'),
[
'prompt' => 'Select Country',
'onchange' => '
var id;
jQuery.ajax({
type: "POST",
data: {
"id": $(this).val(),
},
// url: "",
success: function(data){
jQuery(".tobechanged").html(data);
alert(data);
}
});'
])->label(false);
?>
我各自的div
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 tobechanged" style="max-height: 400px; background: white; overflow: auto;">
<ul class="list-unstyled" id="chkall">
<?php
if(isset($contacts)) {
$contacts = $contacts;
// print_r($contacts[0]['cust_country_code']);exit();
foreach ($contacts as $contact) {
if(isset($_POST['id'])) {
if($contact['cust_country_code'] == $_POST['id']) {
echo '<li>
<div class="checkbox" id="checkboxes">
<label><input type="checkbox" value="'.$contact['cust_id'].'" id="'.$contact['cust_id'].'">'.$contact['cust_fname'].' '.$contact['cust_lname'].'</label>
</div>
</li>';
}
} else {
echo '<li>
<div class="checkbox" id="checkboxes">
<label><input type="checkbox" value="'.$contact['cust_id'].'" id="'.$contact['cust_id'].'">'.$contact['cust_fname'].' '.$contact['cust_lname'].'</label>
</div>
</li>';
}
}
}
?>
</ul>
</div>
即使我们显示“Hello”而不是复选框代码,它也不起作用。就像这样 -
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 tobechanged" style="max-height: 400px; background: white; overflow: auto;">
Hello
</div>
所以,请帮我避免不必要的HTML。
我正在接受这样的响应