2013-06-07 4 views
-1

Я динамически добавляю данные с помощью jquery. Вместо того, чтобы объяснять код, я вставляю его здесь. Все, что мне нужно - это поместить данные группы отдельно в базу данных. Я должен получить данные и преобразовать их в JSON, а затем вставить в базу данных.конвертировать данные в json с помощью jquery

код

<!DOCTYPE HTML> 
<html> 
<head> 
<body> 

<style type="text/css"> 
    .task, 
    .added-task { 
    margin-left: 50px; 
    } 

    .added-task .task { 
    margin-left: 0px; 
    } 

    .added-module { 
    font-weight: bold; 
    } 

    .delete-module, 
    .edit-module, 
    .delete-task, 
    .edit-task { 
    display: none; 
    margin: 0 10px; 
    } 

    .added-module:hover { 

    } 


</style> 

<form method='post' name='EstimationForm' class="estimationform"> 

</form> 
<a href="Javascript:void(0)" id="add-group">Add Group</a> 


<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"></script> 
<script type="text/javascript"> 


//Adding new Module 

$("#add-group").click(function(){ 
    var module_length = $(".module").length; 
    if(module_length > 0) { 
    if($(".module").text() == "") { 
     alert("please enter module name"); 
    } 
    else { 
     $(".estimationform").append("<div class='new-module'><input type='text' class='module'/><a href='Javascript:void(0)' class='add-new-task'>add Task</a></div><br />"); 
    } 
    } 
    else { 
    $(".estimationform").append("<div class='new-module'><input type='text' class='module'/><a href='Javascript:void(0)' class='add-new-task'>add Task</a></div><br />"); 
    } 
}); 


// Adding First Task 
$(".add-new-task").live("click", function(){ 
    if($(this).parent().find(".module").val() == "") { 
    alert("please enter module name"); 
    } 
    else { 
    var added_module = $(".module").val(); 
    $(this).parent().append("<div class='added-module'><span class='module-name'>" + added_module +"</span><a href='Javascript:void(0)' class='edit-module'>edit</a><a href='Javascript:void(0)' class='delete-module'>delete</a><input type='hidden' value='" + added_module + "' /></div><input type='text' class='task' /><a href='Javascript:void(0)' class='add-task'>add Task</a>"); 
    $(this).remove(); 
    $(".module").remove(); 
    } 

}); 


// Adding other Task 
$(".add-task").live("click", function(){ 
    if($(this).parent().find(".task").val() == "") { 
    alert("please enter task name"); 
    } 
    else { 
     var added_task = $(this).parent().find(".task").val(); 
     $(this).parent().find(".task").remove(); 
     $(this).parent().append("<div class='added-task'><span class='task-name'>" + added_task +"</span><a href='Javascript:void(0)' class='edit-task'>edit</a><a href='Javascript:void(0)' class='delete-task'>delete</a><input type='hidden' value='" + added_task + "' /></div><input type='text' class='task' /><a href='Javascript:void(0)' class='add-task'>add Task</a>"); 
     $(this).remove(); 
    } 
}); 


// Showing the edit and delete on hover 
$(".added-module, .added-task").live({ 
    mouseenter: 
     function() 
     { 
      $(this).find("a").stop(true, true).fadeIn(); 
     }, 
    mouseleave: 
     function() 
     { 
      $(this).find("a").stop(true, true).fadeOut(); 
     } 
    } 
); 


//Edit buttons 
$(".edit-task").live("click", function(){ 
    var text = $(this).parent().find('.task-name').text(); 
    console.log(text); 
    $(this).parent().html("").append("<input type = 'text' class='task active' value='" + text + " '/><a href='Javascript:void(0)' class='save-task'>save</a>"); 

}); 

$(".edit-module").live("click", function(){ 
    var text = $(this).parent().find('.module-name').text(); 
    console.log(text); 
    $(this).parent().html("").append("<input type = 'text' class='module active' value='" + text + " '/><a href='Javascript:void(0)' class='save-module'>save</a>"); 

}); 


//Save buttons 
$(".save-module").live("click", function(){ 
    var added_module = $(this).parent().find('.module').val(); 
    $(this).parent().html("").append("<span class='module-name'>" + added_module +"</span><a href='Javascript:void(0)' class='edit-module'>edit</a><a href='Javascript:void(0)' class='delete-module'>delete</a><input type='hidden' value='" + added_module + "' />"); 
    $(this).remove(); 

}); 

$(".save-task").live("click", function(){ 
    if($(this).parent().find(".task").val() == "") { 
    alert("please enter task name"); 
    } 
    else { 
      var added_task = $(this).parent().find(".task").val(); 
      $(".task.active").remove(); 
     $(this).parent().append("<span class='task-name'>" + added_task +"</span><a href='Javascript:void(0)' class='edit-task'>edit</a><a href='Javascript:void(0)' class='delete-task'>delete</a><input type='hidden' value='" + added_task + "' />"); 
     $(this).remove(); 
    } 
}); 


//Delete buttons 
$(".delete-module").live("click", function(){ 
    $(this).parent().parent().remove(); 
}); 

$(".delete-task").live("click", function(){ 
    $(this).parent().remove(); 
}); 






</script> 

</body> 
</html> 

Я использовал

$('.module-name').text(); 

Но никакой пользы. Пожалуйста, помогите мне

мне это нужно в этом формате

{ 
    'group': 'name': 'somename1', 
      'tasks':{'task1':'name1','task2':'name2'} 
} 
{'group': 'name':'somename2', 
      'tasks':'{'task1':'name1','task2':'name2'}' 

} 

если запустить код, вы можете лучше понять его. Я не могу объяснить этот процесс, вот что я имел в виду.

Мне нужно 2 решения здесь.

Сначала извлеките данные, которые находятся в тегах div, а во-вторых, мне нужен код, который нужно преобразовать в JSON, как в вышеуказанном формате.

+6

Итак, вы хотите конвертировать что-то в JSON. Как выглядит то, что вы хотите преобразовать? –

+1

Дайте какое-то объяснение, кроме как просто вставить стену кода. – MrCode

+2

Формат, который вам «нужен» недействителен json – xec

ответ

0

Современные браузеры имеют встроенные функции, которые помогут вам справиться с JSON. Старые браузеры (IE8) нуждаются в резервном (или «полиполнении»).

JSON.stringify(myobject); преобразует объект или массив JavaScript или что-то еще в действующий JSON.

JSON.parse(myjson); отменяет его.