【问题标题】:Pass data from a dynamically generated list from one page to another将动态生成的列表中的数据从一个页面传递到另一个页面
【发布时间】:2013-04-18 11:59:51
【问题描述】:

在我的 jquery 移动应用程序中,我有一个动态生成的列表视图,我想要做的是当用户单击列表项时,我想从列表项中的隐藏字段中获取一个值并将该值传递给另一个页面这样我就可以根据该变量值进行查询。 (多页布局)

由于我与第一页在同一个 DOM 中,我假设我可以使用普通的旧变量访问数据并传递到另一个页面。我需要知道的是,如何从动态生成的列表中获取值。任何帮助将不胜感激。

<ul data-role="listview" class="ui-listbox" data-theme="c"  role="listbox" style="margin-top:20px">
    <li data-role="list-divider" role="heading" tabindex="0" class="ui-li ui-li-divider ui-btn ui-bar-b ui-btn-up-undefined">Today's Journey</li>
    <?php foreach ($journeys as $journey) : ?>
    <?php if ($journey['user_type'] == 0): ?>
        <li class="list-item-speaker" data-icon="false">
            <a href="#journeydetails?id=<?php echo $journey['journey_id']; ?>" id="journeyDetailsDriver" data-transition="flip" >
                <div class="list-item-content-speaker" style="float:left">
                    <img src="<?php echo $journey['facebook_image']; ?>" class="thumb-speaker-small" alt="<?php echo $journey['facebook_first_name']." ".$journey['facebook_last_name']; ?>" />
                    <h3 style="padding-left:10px;"><?php echo $journey['from_destination']." - ".$journey['to_destination']; ?></h3>
                    <p style="padding-left:10px"><?php echo $journey['facebook_first_name']." ".$journey['facebook_last_name']; ?></p>
                    <p style="padding-left:10px; padding-top:10px; font-size:0.9em; font-weight:bold"><?php echo $journey['depart_date']; ?></p>
                    //VALUE I NEED FROM HIDDEN FIELD
                    <input type="hidden" name="journeyID" id="journeyID" value="<?php echo $journey['journey_id']; ?>">
                </div>
                <h3 style="float:right; margin-top:45px; color:#189ACB"><?php echo $journey['seats_available']. ' seats'; ?></h3>
            </a>
        </li>
</ul>

【问题讨论】:

    标签: php javascript jquery jquery-mobile


    【解决方案1】:

    您可以使用 URL 查询标签,或将数据保存在 cookie 或 HTML5 本地/会话存储中。

    要从列表中获取信息,这里是一个示例

    <ul>
      <li>Coffee</li>
      <li>Tea</li>
      <li>Milk</li>
    </ul>
    
    var a = [],
        list = document.getElementsByTagName("li");
    
    Array.prototype.forEach.call(list, function(entry) {
        a.push(entry.textContent);
    });
    
    console.log(a);
    

    jsfiddle上可用

    【讨论】:

    • 找到所有的 li 元素,然后遍历节点列表,从每个元素中获取文本并将该文本附加到数组中。记录它
    猜你喜欢
    • 1970-01-01
    • 2015-02-01
    • 2020-11-20
    • 2012-12-18
    • 1970-01-01
    • 1970-01-01
    • 2020-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多