web-dev-qa-db-fra.com

Définition d'une nouvelle valeur pour un attribut à l'aide de jQuery

J'essaie de définir une nouvelle valeur d'un attribut personnalisé d'un div en utilisant attr() . J'ai découvert que cela peut être fait en utilisant .attr( attributeName, value ), mais lorsque j'essaie, cela ne fonctionne pas.

Voici la partie de mon code qui m'intéresse:

$('#amount').attr( 'datamin','1000')

et le div associé à l'attribut personnalisé est

<div id="amount" datamin=""></div>


Voici l'exemple complet:

$(function() {
    $( "#slider-range" ).slider({
        range: true,
        min: <?php echo $min_val;?>,
        max: <?php echo $max_val;?>,
        values: [ <?php echo $min_val;?>, <?php echo $max_val;?> ],
        slide: function( event, ui ) {
            $( "#amount" ).html( "<?php echo $currency_chk_i;?>" + ui.values[ 0 ] + " - <?php echo $currency_chk_i;?>" + ui.values[ 1 ] );

            $('#amount').attr( 'datamin','1000');

        },
        change: function(event, ui) {
            // when the user change the slider
        },
        stop: function(event, ui) {
        alert(ui.values[0]);
            // when the user stopped changing the slider

        }
    });
    $( "#amount" ).html( "<?php echo $currency_chk_i;?>" + $( "#slider-range" ).slider( "values", 0 ) +
        " - <?php echo $currency_chk_i;?>" + $( "#slider-range" ).slider( "values", 1 ) );

});


Quelqu'un peut-il indiquer où je me trompe ou quelle autre solution?

47
Sakshi Sharma

Fonctionne bien pour moi

Voir exemple ici. http://jsfiddle.net/blowsie/c6VAy/

Assurez-vous que votre jquery est à l'intérieur de la fonction $(document).ready ou similaire.

Vous pouvez aussi améliorer votre code en utilisant jquery data

$('#amount').data('min','1000');

<div id="amount" data-min=""></div>

Mise à jour,

Un exemple de travail de votre code complet (à peu près) ici. http://jsfiddle.net/blowsie/c6VAy/3/

46
Blowsie

Cela fonctionne, vous devez vérifier attr après avoir assigné une valeur

LiveDemo

$('#amount').attr( 'datamin','1000');

alert($('#amount').attr( 'datamin'));​
30
Adil