将动态生成的列表中的数据从一个页面传递到另一个页面

时间:2013-04-18 11:59:52

标签: php javascript jquery jquery-mobile

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

由于我和第一页在同一个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>

1 个答案:

答案 0 :(得分:1)

您可以使用网址查询代码,也可以将数据保存在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

上提供