Ich versuche, 'ID' und 'ausgewählt' in Daten-Optionen zu aktualisieren.Aktualisiere Datenobjekt mit jquery
HTML:
<span class="re_highlight-feature" data-toggle="tooltip" data-animation="false" data-placement="top" title="" data-options="{'id':0,'name':'Appliance','value':'Dryer','selected':false}" data-original-title="Highlight Dryer">Dryer</span>
Ich bin in der Lage, sie zu verweisen und die richtigen Werte zu meiner AJAX-Funktion übergeben.
JS:
$('.re_highlight-feature').click(function(e) {
e.preventDefault();
var feature = $(this);
var featureDislay = feature.text();
var featureData = feature.data('options');
feature.html('<i class="fa fa-refresh fa-spin fa-fw"></i><span class="sr-only">Loading...</span>');
$.ajax({
type:"POST",
url: "/wp-admin/admin-ajax.php",
data: {action:'highlightFeature', id:featureData.id, name:featureData.name, value:featureData.value, selected:featureData.selected},
success:function(json){
obj = JSON && JSON.parse(json) || $.parseJSON(json);
var recordID = obj.id;
if (recordID == 0){
featureData['id'] = 0;
featureData['selected'] = false;
} else {
featureData['id'] = recordID;
featureData['selected'] = true;
}
feature.html(featureDislay);
feature.toggleClass('mark');
},
error: function(errorThrown){
alert(errorThrown);
}
});
return false;
});
Alles außer diesem funktioniert:
if (recordID == 0){
featureData['id'] = 0;
featureData['selected'] = false;
} else {
featureData['id'] = recordID;
featureData['selected'] = true;
}
Ich habe, um herauszufinden, nicht in der Lage gewesen, wie diese Werte in meinem ursprünglichen Elemente zu aktualisieren.
Wenn Sie 'console.log (typeof featureData)' Ich wetten Sie gutes Geld, das Sie 'String' und nicht' Objekt' bekommen würden. Wenn Sie möchten, dass jQuery es für Sie analysiert, muss es *** *** *** *** sein, und das bedeutet doublequotes – adeneo
[Bitte beachten] (https://jsfiddle.net/adeneo/nnov3r7u/1/) – adeneo
Konsole .log (typeof featureData) returned object –