2

class単一の CSSと HTML5値を使用して複数の jquery UI スライダーを作成しようとしていdata-*ますが、成功しません。いくつかの値を取得できますが、機能しないものもあります。

コードは次のとおりです。http://jsfiddle.net/Smartik/FTtAb/1/

ご覧のとおりdata-id、動作しますが、 、、のdata-val値を取得できません(これはすでに最も重要です)。これらの行のコメントを外して、何が起こるかを確認してください。data-mindata-maxdata-step

それで、私の質問です。data-*または何か他のものを使用してこれらの値を取得する方法はありますか?

4

2 に答える 2

2

data-属性から抽出する値は、数値ではなく文字列です。jQuery UIスライダーウィジェットのminmax、およびstepオプションは、数値のみを取ります。

parseInt()を使用して、これらの値を数値に変換できます。

var min   = parseInt(jQuery('#' + id).attr('data-min'), 10);
var max   = parseInt(jQuery('#' + id).attr('data-max'), 10);
var step  = parseInt(jQuery('#' + id).attr('data-step'), 10);

更新されたフィドルはこちらにあります

(余談jQuery('#' + id)ですが、効率のために結果をローカル変数にキャッシュすることを検討してください)。

于 2013-03-17T10:11:21.100 に答える