javascript - 使用点击数据填充另一页上的框

标签 javascript jquery html

我目前有一个类似表单的页面,用户必须先单击一个框(包含数据),然后才能提交并转到下一页 - 但它不是表单帖子或任何东西(也许有人可以让我知道我这样做是否正确吗?)。但是在下一页上,我希望它显示用户在顶部单击的框。目前我可以返回从框中单击的所有数据,我只需要一种在下一页显示单击框的方法

有人知道我该怎么做吗?我将附上一些图片以使其更加清晰。

我附上了我的第一页 HTML,里面有 4 个框,第二个 HTML 框在顶部(目前硬编码)

如果您需要这方面的更多信息或者它看起来有点乱,请告诉我,以便我整理

谢谢!

First page HTML Image, with the 4 boxes and the user must choose 1 before being able to move on the next page

Page 2, where the box at the top should be what the user clicked on the first page

$(document).ready(function () {
  
  var data = [];
  //Currently gets the box ID
  $(".address-box").click(function () {

    var box = {};

    // get all the nested children
    var children = $(this).children('.address-data').children()

    // iterate through each and make an associative array with the text
    $.each(children, function (value) {
      var className = $(this).attr('class');
      box[className] = $(this).text();
    });
    console.log(box);
  });

  $("#next-step-button").on('click', function(){
    window.location='index2.html';

  });

});
.address-box{
  border: 1px solid black;
  cursor: pointer;
}

.address-box-number{
  width: 20px;
  height: 20px;
  background-color: black;
  color: white;
  text-align: center;
  padding: 5px;
  margin: 10px 0px 0px 10px;
}

.address-data {
  margin-left: 15%;
}

.address {

font-size: 17px;

&__name{
  p {
    font-weight: 600;
  }
  
} 

&__location {
  font-weight: 500;
}

}

.address-distance{
  font-size: 15px;
  color: darkgray;
}
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>

<div class="Square1 address-box" id="box-1">
                <div class="address-box-number">1</div>
                <div class="address-data">
                    <div class="address address__name">
                        <span id="box-1-title">some text</span>
                    </div>
                    <div class="address address__location">
                        <span id="box-1-title">more text</span>
                    </div>
                    <div class="address-distance">
                        <p>000 miles away (00 hour, 00min)</p>
                    </div>
                </div>
            </div>
            <div class="Square2 address-box" id="box-2">
                <div class="address-box-number">2</div>
                <div class="address-data">
                    <div class="address address__name">
                        <p>CARL ROSNER MOTORCYCLES</p>
                    </div>
                    <div class="address address__location">
                        <p>249 London Road, Romford, Essex, RM7 9NB</p>
                    </div>
                    <div class="address-distance">
                        <p>000 miles away (00 hour, 00min)</p>
                    </div>
                </div>
            </div>
            <div class="Square3 address-box" id="box-3">
                <div class="address-box-number">3</div>
                <div class="address-data">
                    <div class="address address__name">
                        <p>JACK LILLEY ROMFORD</p>
                    </div>
                    <div class="address address__location">
                        <p>59 - 61 Albert Embankment, Vauxhall, London UK, SE1 7TP</p>
                    </div>
                    <div class="address-distance">
                        <p>000 miles away (00 hour, 00min)</p>
                    </div>
                </div>
            </div>
            <div class="Square4 address-box" id="box-4">
                <div class="address-box-number">4</div>
                <div class="address-data">
                    <div class="address address__name">
                        <p>JACK LILLEY ASHFORD</p>
                    </div>
                    <div class="address address__location">
                        <p>249 London Road, Romford, Essex, RM7 9NB</p>
                    </div>
                    <div class="address-distance">
                        <p>000 miles away (00 hour, 00min)</p>
                    </div>
                </div>
            </div>
            
            
            
            
            
            
            //Next page box HTML
            
            <div class="address-box">

            <div class="address-data">
                <div class="address address__name">
                    <p>METROPOLIS MOTORCYCLES</p>
                </div>
                <div class="address address__location">
                    <p>59 - 61 Albert Embankment, Vauxhall, London UK,</p>
                    <p id="box1pc" value="SE1 7TP">SE1 7TP</p>
                </div>
                <div class="address-distance">
                    <p>000 miles away (00 hour, 00min)</p>
                </div>
            </div>
        </div>
            

最佳答案

如果您希望在客户端环境(浏览器)中执行所有逻辑,您必须使用某种存储来存储所选选项。您可以通过以下方式实现:cookieslocalStoragesessionStorage,甚至在浏览器 SQL 数据库中(仍未得到大力支持)。

当用户选择特定框时,只需在将他转移到另一个页面之前存储对它的某种引用 (ID)。基于下一页中的引用,读取存储的值并对其执行操作。

关于javascript - 使用点击数据填充另一页上的框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48808156/

相关文章:

javascript - 使用 AngularJS 重定向到带有 url 参数的页面时出现 404

jquery - 视差滚动更平滑

javascript - jQuery 获取表格行中的隐藏字段值

javascript - 如何使用数据列表返回 javascript 对象中值的位置

javascript - 设置 Angular 管道的默认参数

javascript - 如何在不重新链接的情况下将 jQuery 包含在 iframe 中?

javascript - 我正在尝试在我的 Angular 应用程序中直接创建自己的自定义,以便我看到 ladda 加载指示器

javascript - 使用 jQuery.data 从 dom 元素获取 bool 值?

javascript - 如何删除 Jquery 中两个元素之间的文本?

html - 当响应式网格收缩时如何避免间隙?