美好的一天,
<script>
$('#selparents option').each(function() {
var type=$('#selparents').val();
alert(type);
$.post('<?php echo base_url();?>index.php/user_controll/show_detail/'+type,{
type:type
},
function(data)
{
$('#result').html(data);
});
});
</script>
上面是我简单的jQuery。
好吧,我想做的是。页面执行后,将进行会话。
public function show_detail($type)
{
extract(populateform());
$this->session->set_userdata(array('tipe_pilihan' => $type));
/////////
但是当页面不是
executed
时,会话必须为空。需要进行更改。我如何添加onchange
,因为如果从会话中设置了值,则上述脚本仅能正常工作。<select id="selparents" class="form-control select2" name="parent">
<option value="0">None</option>
<?php
$s = "";
$type_pilihan = $this->session->userdata('tipe_pilihan');
foreach($tipe as $hslnya)
{ if($type_pilihan == $hslnya->id_tipe)
{
echo "<option selected value='".$hslnya->id_tipe."'>".$hslnya->deskripsi."</option>";
}else{
echo "<option value='".$hslnya->id_tipe."'>".$hslnya->deskripsi."</option>";
}
}
?>
</select>
对不起,我的英语不好。
感谢@Barmar我的
loop alert
已修复。但是,不像我的older script
当选择框已经从会话中选择了某个选项时,警报不会显示(重新加载时)。 最佳答案
我不确定您要问的是什么,但我认为这可能是您要寻找的:
$("#selparents").change(function() {
var type = $(this).val();
$.post('<?php echo base_url();?>index.php/user_controll/show_detail/'+type,{
type:type
},
function(data)
{
$('#result').html(data);
});
});
您的代码在页面加载时正在重复执行AJAX调用,而不是在用户从菜单中进行选择时执行。