У меня есть JSON строка массив таких объектов.
[{"id":"4","rank":"adm","title":"title 1"},
{"id":"2","rank":"mod","title":"title 2"},
{"id":"5","rank":"das","title":"title 3"},
{"id":"1","rank":"usr","title":"title 4"},
{"id":"3","rank":"ref","title":"title 5"}]
Я хочу изменить значение заголовка, когда идентификатор совпадает. Поэтому, если моя переменная myID равна 5, я хочу изменить заголовок «заголовок 5» на новый заголовок и так далее. И тогда я получаю новый массив JSON в $("#rangArray").val(jsonStr);
Что-то вроде
$.each(jsonStr, function(k,v) {
if (v==myID) {
this.title='new title'; $("#myTextArea").val(jsonStr);
}
});
Вот полный код.
$('img.delete').click(function() {
var deltid = $(this).attr("id").split('_');
var newID = deltid[1];
var jsonStr = JSON.stringify(myArray);
$.each(jsonStr, function(k,v) {
if (v==newID) {
// how to change the title
jsonStr[k].title = 'new title';
alert(jsonStr);
$("#rangArray").val(jsonStr);
}
});
});
Выше не работает. Любая помощь, пожалуйста?