Я пытаюсь динамически создать простой select
, который содержит свойство объекта как option
на основе некоторых ограничений.
Все работает отлично, когда мой JSON является частью скрипта.
Код
$(document).ready(function(){
/*$.getJSON('input.json',function(data){
alert('inside');
});*/
/*$.getJSON("inputjson.json", function(data){
// I have placed alert here previously and realized it doesn't go into here
console.log("datd");
console.log(JSON.stringify(data,null,4));
});*/
var jsonList =
{
"json_data" : {
"data" : [
{
"data" : "A node",
"metadata" : { id : 23 },
"children" : [ "Child 1", "A Child 2" ]
},
{
"attr" : { "id" : "li.node.id1" , "level" : "3" , "name" : "Ragini" },
"data" : {
"title" : "Long format demo",
"attr" : { "href" : "#" }
}
},
{
"attr" : { "id" : "li.node.id1" , "level" : "3" , "name" : "Rag" },
"data" : {
"title" : "Long format demo",
"attr" : { "href" : "#" }
}
},
{
"attr" : { "id" : "li.node.id1" , "level" : "4" , "name" : "Skyrbe" },
"data" : {
"title" : "Long format demo",
"attr" : { "href" : "#" }
}
}
]
}
}
var newObject = jsonList.json_data.data;
var listItems= "";
$form = $("<form></form>");
$('#form_container').append($form);
var $selectContainer = $("<select id=\"selectId\" name=\"selectName\" />");
for (var i = 0; i < jsonList.json_data.data.length; i++)
{
if(jsonList.json_data.data[i].hasOwnProperty("attr") && jsonList.json_data.data[i].attr.level == 3)
{
listItems+= "<option value='" + jsonList.json_data.data[i].attr.name + "'>" + jsonList.json_data.data[i].attr.name + "</option>";
}
}
$($selectContainer).html(listItems);
$($form).append($selectContainer);
});
Но когда я пытаюсь поставить JSON в отдельный файл .json и использовать $.getJSON
, я не имеющий никакого успеха. В принципе, контроль никогда не приходит в это.
Это код, который я написал для $.getJSON
$.getJSON('input.json',function(data){
console.log(JSON.stringify(data,null,4));
});
Может кто-то пожалуйста, указать на то, что моя ошибка есть.
Приветствия, Harsha
Woah, так как мне и ваш ответ @nnnnnn помогли мне, я смущен в выборе одного из двух в качестве ответа! –
Pick me, nnnnnn получил массу баллов ;-) –
Ха-ха: D Уверен, что он не против ;-) –