Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 链接赢了';追加后无法在jquery mobile上正确显示_Json_Jquery_Listview_Jquery Mobile - Fatal编程技术网

Json 链接赢了';追加后无法在jquery mobile上正确显示

Json 链接赢了';追加后无法在jquery mobile上正确显示,json,jquery,listview,jquery-mobile,Json,Jquery,Listview,Jquery Mobile,我试图从json数据中输出列表“li”中的链接,并将其传递给jquery移动元素。但是在我附加jquery之后,“li”上的链接看起来像常规链接一样输出(用蓝色链接而不是正确的listview jquery mobile),并且没有显示jquery mobile的属性css 不知道我的解释是否正确,但我在这里做错了什么 <?php include "_header.php" ?> <div data-role="header" data-theme="c"> &l

我试图从json数据中输出列表“li”中的链接,并将其传递给jquery移动元素。但是在我附加jquery之后,“li”上的链接看起来像常规链接一样输出(用蓝色链接而不是正确的listview jquery mobile),并且没有显示jquery mobile的属性css

不知道我的解释是否正确,但我在这里做错了什么

<?php include "_header.php" ?>
<div data-role="header" data-theme="c">
    <div align="center">
                //some code
    </div>
</div><!-- /header -->
<div data-role="content">   
    <div align="center"><img src="imgs/charmchasers-m.png" alt="Charmchasers logo" width="250px" ></div>    

    <div class="content-primary">
        <ul data-role="listview" data-inset="true" data-theme="e">
            <li>
                <h3>North America</h3>
                <p>H-D Dealer Charms - USA &amp; Canada.</p>
                <ul data-role="listview" data-filter="true" data-theme="c" data-inset="true" id="state-list">
                </ul>
            </li>
            <li>
                <a href="display.php?state=international" data-transition="slide">
                    <h3>International</h3>
                    <p>H-D Dealer Charms - Asia &amp; Europe.</p>
                </a>
            </li>
            <li>
                //some code
            </li>
            <li>
                //some code
            </li>
        </ul>
    </div>
</div><!-- /content -->
<div data-role="navbar" data-iconpos="bottom">
    <ul>
        <li><a href="display.php?state=new" data-role="button" data-icon="star" data-theme="a" data-transition="slide">New Charms</a></li>
        <li>//some code</li>
    </ul>
</div><!-- /navbar -->
<script>
(function() {
    var json_url = 'http://localhost:8888/MOD/charmchasers/app/mysql-to-json.php';

    $.getJSON(json_url, function(data){
        $.each(data, function(i, item) {
            $('#state-list').append('<li><a href="display.php?state=' + item.d_state  + '" data-transition="slide">' + see_abbrv(item.d_state) + '</a></li>');
        });
    });
}) ();
</script>

//一些代码
  • 北美 H-D经销商护身符-美国和美国;加拿大

  • //一些代码
  • //一些代码
  • //一些代码
(功能(){ var json_url='0http://localhost:8888/MOD/charmchasers/app/mysql-到json.php'; $.getJSON(json_url,函数(数据){ $。每个(数据、功能(i、项){ $(“#状态列表”)。追加(“
  • ”); }); }); }) ();
    任何想法???

    “如果您在客户端生成新标记或通过Ajax加载内容并将其注入页面,您可以触发create事件来处理新标记中包含的所有插件的自动初始化。”

    因此,在附加新的列表项之后,必须触发create事件来构建listview。尝试:

    $('ul').listview('refresh'); 
    

    编辑:

    在$.each()循环中尝试以下操作:

    $(“#状态列表”)。追加(“
  • ”)。列表视图(“刷新”);
    我刚刚添加了.listview('refresh');在每个附加的末尾。如果列表视图已经初始化,它应该可以工作。

    “如果您在客户端生成新标记或通过Ajax加载内容并将其注入页面,则可以触发create事件来处理新标记中包含的所有插件的自动初始化。”

    因此,在附加新的列表项之后,必须触发create事件来构建listview。尝试:

    $('ul').listview('refresh'); 
    

    编辑:

    在$.each()循环中尝试以下操作:

    $(“#状态列表”)。追加(“
  • ”)。列表视图(“刷新”);

    我刚刚添加了.listview('refresh');在每个附加的末尾。如果列表视图已经初始化,它应该可以工作。

    每次添加新内容时,需要强制jQuery Mobile增强页面标记。它可以通过多种方式完成,如果您想了解更多,请查看此,更透明的是,它是我的个人博客。或者看一看

    应使用此功能:

    $('#state-list').listview('refresh'); 
    
    代码需要这样更改:

    (function() {
        var json_url = 'http://localhost:8888/MOD/charmchasers/app/mysql-to-json.php';
    
        $.getJSON(json_url, function(data){
            $.each(data, function(i, item) {
                $('#state-list').append('<li><a href="display.php?state=' + item.d_state  + '" data-transition="slide">' + see_abbrv(item.d_state) + '</a></li>');
            });
           $('#state-list').listview('refresh'); 
        });
    }) ();
    
    (函数(){
    var json_url='0http://localhost:8888/MOD/charmchasers/app/mysql-到json.php';
    $.getJSON(json_url,函数(数据){
    $。每个(数据、功能(i、项){
    $(“#状态列表”)。追加(“
  • ”); }); $(“#状态列表”).listview(“刷新”); }); }) ();

    还有一件事需要记住,这一行必须在
    $内使用。getJSON
    但在
    $后使用。每个
    循环都以内容追加结束。最后要记住的最后一件事是,如果可能的话,经典的jQuery
    DOM
    就绪函数不应与jQuery Mobile
    一起使用,而应使用
    页面事件
    ,每次添加新内容时,都可以找到有关它的更多信息。jQuery Mobile需要强制增强页面标记。它可以通过多种方式完成,如果您想了解更多,请查看此,更透明的是,它是我的个人博客。或者看一看

    应使用此功能:

    $('#state-list').listview('refresh'); 
    
    代码需要这样更改:

    (function() {
        var json_url = 'http://localhost:8888/MOD/charmchasers/app/mysql-to-json.php';
    
        $.getJSON(json_url, function(data){
            $.each(data, function(i, item) {
                $('#state-list').append('<li><a href="display.php?state=' + item.d_state  + '" data-transition="slide">' + see_abbrv(item.d_state) + '</a></li>');
            });
           $('#state-list').listview('refresh'); 
        });
    }) ();
    
    (函数(){
    var json_url='0http://localhost:8888/MOD/charmchasers/app/mysql-到json.php';
    $.getJSON(json_url,函数(数据){
    $。每个(数据、功能(i、项){
    $(“#状态列表”)。追加(“
  • ”); }); $(“#状态列表”).listview(“刷新”); }); }) ();

    还有一件事需要记住,这一行必须在
    $内使用。getJSON
    但在
    $后使用。每个
    循环都以内容追加结束。最后要记住的最后一件事是,如果可能的话,经典的jQuery
    DOM
    就绪函数不应与jQuery Mobile
    一起使用,而应使用
    页面事件
    ,查找有关它的详细信息

    我尝试了这两种方法,并在>>$(“#状态列表”)之后插入。追加(“
  • ”);>>仍然不起作用。我尝试了这两种方法,并在>>$(“#状态列表”)之后插入。追加(“
  • ”);>>还是不行。。