0

jQuery 1.7.1 - 入力テキスト要素 (クラス - pr) の配列と、ラベル (クラス - err) の同じ数の配列要素があります。テキスト ボックスのぼかしに関する検証があり、テキスト ボックスに関連付けられたラベルにエラー メッセージを割り当てたいと考えています。次の jQuery コードは機能しません。

HTML

<tr>
   <td>
            <label class="err" style="display: none;" for="prd"></label> 
            <input type="text" class="pr" name="prd" />
    </td>
 </tr>

jQuery

$("input.pr:text").blur(function(event){
    // .... validation code
    var index = $.inArray(this, $("input.pr:text"));
    $("label.err")[index].show();
    $("label.err")[index].text("Enter a number");
 });
4

2 に答える 2

2

一発ギャグ:

$('label.err').eq(index).show().text('Enter a number');

またはおそらくより良い:

$("input.pr:text").blur(function(event){
     $(this).prev('label').show().text("Enter a number");
});
于 2012-05-17T04:42:31.003 に答える
1

インデックスを使用してJQueryオブジェクトを参照すると、それはJQueryオブジェクトではなく、プレーンなDOM要素になります。代わりに以下を使用してください。

var el = $($("label.err")[index]);
el.show();
el.text("Enter a number");
于 2012-05-17T04:38:05.540 に答える