【发布时间】:2010-08-23 02:49:12
【问题描述】:
作为序言,让我说我是 .. jQuery 的“新手”。我有downpat的概念和大部分用法,但我对所有这些括号和功能还不够完美。
因此,我可能在这里犯了一个业余错误。我正在使用以下代码提交一些数据,移动到页面的下一部分,然后尝试将新内容加载到下一部分的下拉菜单中:
$('#submit').click(function() {
var nam = $('#name').val();
var par = $("#parentCategory").val();
var dat = $("#catDate").val();
$.post("<?php echo site_url('admin/add_gallery'); ?>", {name: nam, parent: par, cat_date: dat}, function() {
if (par != 'undefined')
{
$('#next_tab').click()
}
else
{
$("#gallery").click(),
$("#name").val('')
}
});
$.get("http://www.example.com/admin/get_galleries", function(gals)
{ // Get the Contents of Drop Down Gallery Select
$("#galleryChoose").html(gals);
});
alert('yop');
});
不幸的是,它不起作用。 POST 效果很好,但 #galleryChoose(这是一个
标签)永远不会被新内容填充。
我使用 GET 调用的 URL(通常是指向我的测试站点的 URL,我出于示例目的更改了它)会生成一个包含所有最新元素的下拉列表,但使用 GET 引用它似乎不起作用。我是否必须以某种特定方式将其退回以获取 GET?我现在只是在使用return $variable,其中 $variable 包含所有 HTML。
任何帮助将不胜感激。为这个问题苦苦挣扎了一夜。
更新:这是我在 URL 中引用的代码(它是 CodeIgniter,所以它在我的控制器中):
function get_galleries()
{
$galleries = $this->find->all_items('galleries');
$return = '<label>Choose the Gallery:</label> <br />';
$return .= '<select id="galleryParent" name="galleryParent">';
foreach ($galleries as $gals)
{
$return .= '<option id="'.$gals->gal_name.'" value="'.$gals->gal_id.'">'.$gals->gal_name.'</option>';
}
$return .= '</select>';
echo $return;
}
【问题讨论】:
-
不确定它是否能解决您的问题,但您遇到了一些行尾问题。
$("gallery").click(),应该以分号结尾,而不是逗号。您还有另外两个未终止的语句。使用 JavaScript 臭名昭著的隐式分号,您应该始终自己添加所有分号,而不是将决定权留给 JS 解释器。
标签: jquery codeigniter get