2010-06-25 5 views
7

ho qualche barra di avanzamento (risultati di ricerca), il cui valore è impostato in modo dinamico sulla document.readyJQuery UI: multipla barra di avanzamento - problemi di impostare valori dinamici

<div class="progressbar" rel="21"></div> 
<div class="progressbar" rel="36"></div> 
<div class="progressbar" rel="44"></div> 
<div class="progressbar" rel="58"></div> 

E

$(document).ready(function() { 

    $("div.progressbar").progressbar({ 
    value: $(this).attr("rel") 
    }); 
}); 

Questo non sembra funzionare. Invece, se valuto: 40, tutto funziona, quindi il problema non è nell'inclusione o nell'uso.

ho provato con $ .each troppo, ma niente

$("div.progressbar").each (function() { 
    var element = this; 

    console.log($(element).attr("rel")); //ok right value 

    $(element).progressbar({ 
     value: $(element).attr("rel") 
    }); 
}); 

Tutte le idee?

EDIT: Questo funziona

$("div.progressbar").each (function() { 
    var element = this; 

    $(element).progressbar({ 
     value: parseInt($(element).attr("rel")) 
    }); 
}); 

risposta

11

necessità di inviare un numero

progressbar => oggetto value => intero

$(element).attr("rel") = "21" => string value 
parseInt($(element).attr("rel")) = 21 integer value 


$(document).ready(function() { 
    $("div.progressbar").progressbar({ 
    value: parseInt($(element).attr("rel")) 
    }); 
}); 
+0

hai ragione .. non avevo pensato che potesse essere un problema di cast – apelliciari

0

Hai provato a usare option method per modificare il valore invece di passare come params di inizializzazione?

+0

sì, stessi risultati:/ – apelliciari

Problemi correlati