2016-11-02 3 views
1

jqueryのMAXLENGTH属性にdata-val-length-max属性を設定するフォームがあります。jquery:各入力でdata-val-length-max値でmaxlength値を設定するにはどうすればよいですか?

は、私は次の入力を持っている:

<input type="text" id="name" data-val-length-max="20"> 
<input type="text" id="lastname" data-val-length-max="10"> 

ページは、私がその操作を行う必要がありますロードしています。私は、次のjQueryを実行しています:

$("input").attr("maxlength", $("input").attr("data-val-length-max")); 

とMAXLENGTHこの場合(名前MAXLENGTH)で....最初の入力の値として設定されています。

各入力セットのmaxlengthを自分のdata-val-length-max値でどのように行うことができますか?

答えて

1

jQueryのattr()しかマッチした要素の集合内の最初の要素

の属性 の値を取得しますdocumentation

から、コレクション内の最初の要素の属性を取得します

コレクション内のすべての要素の属性を変更する場合は、反復処理を行う必要があります。そのためには、コールバックを使用するのがよいでしょう。attr()

$("input").attr("maxlength", function() { 
    return $(this).attr("data-val-length-max"); 
}); 
+0

なぜこれがダウン表示されていますか?誰でもこれをした、説明してください。 –

+0

@DmitriyDemir - 誰かが明らかにそれを取得していないとdownvoteすることを決めた?私はjQueryからいくつかのドキュメントを追加して実際に正しいことを示しました – adeneo

+1

他の理由はありません...ところで、私は 'data'を使うと' attr 'だから、おそらく' $(this).attr( "data-val-length-max") 'は少し良いでしょうか?私はあなたが正しいことを覚えていれば、JSでそれを変更したときにデータの値が更新されないので、ページがロードされた後にこの属性が変更されると助けになるかもしれません... –

関連する問題