尝试从单选按钮显示的 JSON 数组中调出多个对象

Posted

技术标签:

【中文标题】尝试从单选按钮显示的 JSON 数组中调出多个对象【英文标题】:Trying to call out multiple objects from a JSON array displayed by radio button 【发布时间】:2014-01-04 16:35:10 【问题描述】:

我正在做一个网站。它试图显示的是运动队的时间表。我为每个团队都有一个 JSON 文件。我希望能够单击某个团队的单选按钮,让它在另一个 div 的 JSON 文件中显示某些信息。

所以我将发布一个团队的示例。 单选按钮:

<tr><td><label>
<input type="radio" name="teamShow" value="cCubs">Chicago Cubs
</label></td></tr>

jQuery:

$("input[name='teamShow']").change(function() 
    selected = $('input[name=teamShow]:checked' ).val();
    console.log(selected);
    if (selected == "cCubs")  
            $('#markerMessage7').html(
            $.getJSON( "ChicagoCSked.json", function( data ) 
                $.each(data, function(i, entry) 
                    displayData = data.ccJSON.SUBJECT[0];)
            )
            )
        
    )

身体:

<div id ="markerMessage7">-</div>

JSON(只有一个数组):

ccJSON =[

"START_DATE":"02/27/14",
"START_TIME":"02:05 PM",
"START_TIME_ET":"03:05 PM",
"SUBJECT":"D-backs at Cubs",
"LOCATION":"Cubs Park",
"DESCRIPTION":"",
"END_DATE":"02/27/14",
"END_DATE_ET":"02/27/14",
"END_TIME":"05:05 PM",
"END_TIME_ET":"06:05 PM",
"REMINDER_OFF":"FALSE",
"REMINDER_ON":"TRUE",
"REMINDER_DATE":"02/27/14",
"REMINDER_TIME":"01:05 PM",
"REMINDER_TIME_ET":"02:05 PM",
"SHOWTIMEAS_FREE":"FREE",
"SHOWTIMEAS_BUSY":"BUSY"
,

我似乎无法让它写任何东西。我希望它有开始日期、主题和开始时间。我只是在工作,这就是为什么它是我的代码中唯一的东西。

【问题讨论】:

你检查过我的小提琴吗?这给出了如何在另一个 div 中获取信息的示例。 jsfiddle.net/g98Em 是的,我做到了。但是我的 json 的“主题”部分仍然没有加载 【参考方案1】:

LIVE DEMO(and this JSON page example)

我建议您使用稍微不同的 JSON 结构:


  "cCubs" : 
    "START_DATE":"02/27/14",
    "START_TIME":"02:05 PM",
    "START_TIME_ET":"03:05 PM",
    "SUBJECT":"D-backs at Cubs",
    "LOCATION":"Cubs Park"
  ,
  "Something" : 
    "START_DATE":"02/29/14",
    "START_TIME":"04:00 PM",
    "START_TIME_ET":"05:05 PM",
    "SUBJECT":"Something subject",
    "LOCATION":"Something Park"
   

有了这个,你可以有单选按钮,比如:

<label>
    <input type="radio" name="teamShow" value="cCubs">
    Chicago Cubs
</label>
<label>
    <input type="radio" name="teamShow" value="Something">
    Something
</label> 

还有这个微不足道的 JS:

$("input[name='teamShow']").change(function() 

    var selected = $('input[name=teamShow]:checked').val();
    var displayData = "";

    $.getJSON( "allTeamsData.json", function( data )         
        displayData = data[selected].SUBJECT;
        $('#markerMessage7').html( displayData );        
    );

);

【讨论】:

刚试了一下,没有收到任何提示,也没有启动游戏。 @user3109532 好的,用另一个想法编辑。我很乐意使用它。还提供了工作演示和 JSON 页面示例。希望我不需要提及您不能在进行更改之前复制粘贴它,例如allTeamsData.json ...等 我的 JSON 是 3800 行与团队日程相关的代码。因此,JSON 重新格式化越少越好。每个 都是一个游戏。我希望它遍历所有"START_DATE""START_TIME""SUBJECT" 并显示它们。是的,我会根据每个团队的代码进行更改。 @user3109532 你可以用几行 JS 行重新格式化你的 JSON,然后将树再次复制粘贴到同一个文件中......好吧,无论如何,至少我希望这个例子能给你一个如何做的想法......希望你现在能够自己做。如果您有任何问题,请随时提出。

以上是关于尝试从单选按钮显示的 JSON 数组中调出多个对象的主要内容,如果未能解决你的问题,请参考以下文章

获取从单选按钮到组合框的数据搜索

html AngularJS切换切换从单选按钮隐藏/显示div

Yii 使用 Jquery 从单选按钮列表中获取选定的值

如何通过从 mySQL 获取值从单选按钮获取值 [重复]

从单选按钮到 int 的值并计算

禁用对角度单选按钮选择的验证