2016-12-05 5 views
2

Hey Leute, ich habe ein kleines Problem, wenn ich versuche, die Methode eq() in jquery zu verwenden.Wie man jeden Wert der Attributverwendung ändert eq() jquery

Ich habe ein Array wie diese

data = [11, 12, 13, 14, 15] 

und in meinem HTML-Code, ich habe einige Eingangs-Tags mit diesem Detail

<input type="text" value="1" name="sku[sku_id][quantity]"> 
<input type="text" value="1" name="sku[sku_id][quantity]"> 
<input type="text" value="1" name="sku[sku_id][quantity]"> 
<input type="text" value="1" name="sku[sku_id][quantity]"> 
<input type="text" value="1" name="sku[sku_id][quantity]"> 

und ich möchte jeden Wert meiner Eingangs-Tags ändern, wie diese

<input type="text" value="1" name="sku[11][quantity]"> 
. 
. 
. 
<input type="text" value="1" name="sku[15][quantity]"> 

ich verwende diesen Code in meinem Skript, aber es funktioniert nicht

$.each(data, function(key, value){ 
    var sku_id = value; 
    console.log(key+" "+sku_id); 
    $('input[name="sku[sku_id][quantity]"]').eq(key).attr('name', 'sku['+sku_id+'][quantity]'); 
}) 

aber wenn ich versuche einfach Klasse in diesem Add wie diese, arbeiten sie

$.each(data, function(key, value){ 
    var sku_id = value; 
    console.log(key+" "+sku_id); 
    $('input[name="sku[sku_id][quantity]"]').eq(key).addClass('goods'); 
}) 

jemand mir bitte helfen? T^T

+1

Statt 'eq()', iterieren 'input's und Index verwenden. [Siehe diese Demo] (https://jsfiddle.net/tusharj/fLwahk2f/) – Tushar

Antwort

0

Dieses Problem tritt auf, weil Sie die Eigenschaft name selbst ändern, die Sie in jquery selector auswählen.

so nur eine class verwenden und überprüfen, ob es funktioniert oder nicht

Sie bitte diese Geige überprüfen

FIDDLE