动态添加表单元素

时间:2011-12-14 16:59:25

标签: jquery jquery-mobile

我尽力通过搜索和建议的标题,但找不到答案。我有一个通过PHP生成的jQuery移动页面。

所以在这个页面上我得到了一个选择下拉列表(城市),在选择城市时,我希望第二个选择下拉列表显示在这个下面,一个包含郊区。我有一个PHP页面,吐出注入所需的html。

$('#city').change(function() {
  alert($('#city').val());
  if($('#city').val() != "") {
    $.get( 'get_burb.php', { city: $('#city').val() }, function(data) {
      alert(data);
    } );
  }
});

一切都检查出来,数据就是我需要的。那么我现在该把它放在哪里?抱歉新手,我无法理解这个jQuery的东西。

编辑:

在没有做任何事之后,它就在一个现场内,带我走了一段时间才弄明白。此外,还有一个问题是新注入的油田没有标准控制的样式。此外,如果用户更改了城市,我们需要重新加载html并将其全部删除,如果城市没有'burbs。

无数次尝试失败后,我通过在fieldcontain中放置一个空div(#here)然后像这样玩它来完成工作:

$('#city').change(function() {
    //alert($('#city').val());
    if($('#city').val() != "") {
        $.get( 'get_burb.php', { city: $('#city').val() }, function(data) {
            $('#burb').remove();
            $('#here').empty();
            $("#here").append( data ).trigger('create');
        } );
    } else {
        $('#burb').remove();
        $('#here').empty();
    }
});

3 个答案:

答案 0 :(得分:0)

尝试:

$('#city').after(data) 

应该做的伎俩。这会在data之后的city中插入带有ID {{1}}。

的选择框

答案 1 :(得分:0)

结帐.after()

$('#city').after(...)

答案 2 :(得分:0)

您可能遇到的问题是“了解问题”是JQMobile在运行时使用html生成其他HTML。因此,例如,可以在呈现页面之前以一种方式生成列表,并且在呈现之后看起来不同(就html标签而言)。这让我困惑了一段时间。

我建议让firebug查看您网页中发生的事情,以尝试了解最新动态以及最终结果。一些JQM函数将调用page()函数,该函数将正确呈现控件,即将它们转换为您在页面上看到的内容,而其他函数则不会。知道这一点,应该可以帮助您确定您的实际问题。

使用组合框,您会发现您的数据可能正在被更改,并且可能需要某种类型的函数调用来更新它。