我有一个更新 ajax 字段的下拉列表。一切正常,但 ajax 字段不会在页面加载时填充数据。如何在页面加载时强制更新 ajax 字段?
这是 View 中的下拉列表:
echo CHtml::dropDownList('category_selection_code', '', $cat_list_data,
array('style'=>'width:400px',
'ajax' =>
array(
'type'=>'POST',
'url'=>CController::createUrl('articles/GetContentFields'),
'update'=>'#ExtraContentFields',
)
)
);
*更新
我找到了适合我的解决方案:
$(document).ready(function(){
$.ajax({
type: 'POST',
data: {category_selection_code: $('#category_selection_code').val()},
url: '<?php echo CController::createUrl('articles/GetContentFields'); ?>',
success: function(data){
$('#ExtraContentFields').html(data)
}
})
})
ajax 处理 Controller articles/GetContentFields 正在等待 $_POST 数组中的 category_selection_code 参数。我们应该在 ajax 部分的 data 部分设置它:
数据:{category_selection_code: $('#category_selection_code').val()},
感谢大家的帮助。
最佳答案
我不认为你上面所做的是正确的。首先,CHtml::dropdownList() 函数的第四个参数是一个 HTML 选项数组。 See the function signature for CHtml::dropdownList()
将您的 AJAX 调用放入
$(document).ready(function() {
//Your call goes in here.
});
关于php - YII:如何在页面加载时更新 ajax 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10258383/