我正在尝试在另一个div中单击时显示附加的JSON项目。
例如 -
$.getJSON("URLHERE", function(result){
$.each(result, function(i, field){
$(".mydiv").append( "<div class='newdiv'>" + field.name + "," + field.event + "</div>");
});
这会获取我的JSON信息,并将其添加到每个项目的.mydiv中。
现在 - 我正在尝试再次获取此信息,以显示在另一个div中,但仅针对所选项目。我试图添加一个单击函数来显示JSON信息,但仅针对所选信息,但没有运气。
$('.mydiv').click(function() {
$(".seconddiv").append(field.name);
});
如果有人能让我走上正轨,那将非常感激。
谢谢!
修改
我的HTML
<div class="container">
<div class="row">
<div class="col-md-8">
<div class="mydiv">
<h1>...</h1>
</div>
</div>
<div class="col-md-4">
<div class="seconddiv">
<h1>...</h1>
</div>
</div>
</div>
</div>
编辑2
$.getJSON("URLHERE", function(result){
$.each(result, function(i, field){
$(".mydiv").append( "<div class='newdiv'>" + field.name + "," + field.event + "</div>");
$(document).on('click', 'div.newdiv', function(){
$('div.seconddiv').append( $(this).html() );
});
});
编辑3:
所以,这是有效的,但是它循环遍历每个JSON并提取名称,我基本上只需要这个名字。
$(document).ready(function() {
$.getJSON("URLHERE", function(result){
$.each(result, function(i, field){
$(".mydiv").append( "<div class='newdiv'>" + field.name + "," + field.event + "</div>");
});
$('.newdiv').click(function() {
$(".seconddiv").append(field.name); // HOW TO ONLY GET THIS FIELD NAME, NOT FOR EACH JSON ITEM
});
});
});
答案 0 :(得分:0)
在您添加DOM时,您的DOM元素中没有它。你想要做的是实际管理点击的元素:
let imageView:UIImageView = UIImageView()
if let myImage = UIImage(named: "ic_star") {
imageView.image = imageView.image!.imageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate)
}
imageView.tintColor = UIColor.redColor()
bestListButton.setImage(imageView.image, forState: .Normal)
您还必须记住,您无法访问jQuery(document).on('click', 'div.mydiv', function(){
});
来电之外的JSON
。
要仅显示已点击的广告,您需要提取$.getJSON()
并将其附加到新的.html()
。看起来像这样:
div
答案 1 :(得分:0)
这会为具有类mydiv
$.getJSON("URLHERE", function(result){
$.each(result, function(i, field){
$(".mydiv").append( "<div class='newdiv'>" + field.name + "," + field.event + "</div>");
});
使用此功能将.seconddiv
附加到您想要的信息
$(document).on('click','.newdiv',function() {
$(".seconddiv").append($(this).html()); // fieldName,fieldEvent
});
答案 2 :(得分:0)
功能有点不清楚但是这里有一个解决方案,当你想显示信息时,点击显示只有一个不同div中的选定名称。我建议将JSON属性存储为新创建的div上的数据元素,以后可以通过简单的单击处理程序轻松检索。
jsfiddle here:https://jsfiddle.net/7961d87z/
只是代码
HTML
<!-- placeholder for your data -->
<div class="mydiv"></div>
<!-- placeholder for click events -->
<div class="result"></div>
的Javascript
//fake data
result= [{name:"item1", event: "something"}, {name:"item2", event: "someevent"}];
$.each(result, function(i, field){
//create an element and append data attribute to the element - in this case field name
el = $("<div class='newdiv'>" + field.name + "," + field.event + "</div>").data("name", field.name);
//append element to DOM
$(".mydiv").append( el );
})
//define a click handler for all new elements to display data in a div
$(".mydiv").on( "click", ".newdiv", function() {
$(".result").text( $( this ).data("name") );
});