2011-11-04 3 views
1

Je champs d'entrée avec ids au hasard ordonnés comme suit:Comment changer ID par unique dans Jquery

<input type="text" id="start1" /> 
<input type="text" id="start5"/> 
<input type="text" id="start3"/> 

Je dois changer comme ci-dessous, la commande par un 1 à 10 suffixe à la fin

<input type="text" id="start1" /> 
<input type="text" id="start2"/> 
<input type="text" id="start3"/> 
<input type="text" id="start4"/> 

Comment faire dans jQuery?

Répondre

3
$(function() { 
    var i = 1; 
    $("INPUT[type=text]").each(function() { 
     $(this).attr("id", "start" + i); 
     i++; 
    }); 
}); 

Ce qui précède fonctionnera pour vous.

Il faut dire cependant que changer les ID à la volée est une exigence plutôt étrange à avoir. Y a-t-il une raison spécifique pour laquelle vous devez y parvenir?

1
<html> 
<head> 
<script type="text/javascript" src="jquery_1.5.2.js"></script> 
<script type="text/javascript"> 
function reOrder(){ 
    var putVal = []; 
    var put = []; 
    var arr = $('.arr input[type=text]'); 
    for(var i=0; i < arr.length; i++){ 
     putVal[i] = $('input[id=start'+i+']').val(); 
     put[i] = "<input type='text' value='"+putVal[i]+"' id='start"+i+"' />" 
    } 

    $(".arr").empty(); 
    for(var i=0; i < arr.length; i++){ 
     $(".arr").append(put[i]); 
    } 



    } 
$(document).ready(function() { 

    reOrder(); 

}); 

</script> 
</head> 

<body> 
<div class="arr"> 
<input type="text" id="start2" value="2" /> 
<input type="text" id="start3" value="3"/> 
<input type="text" id="start0" value="0"/> 
<input type="text" id="start1" value="1"/> 
</div> 
</body> 
</html> 

Salut, j'ai fait comme ça mais cela fonctionne. Est-ce correct??