0

jQuery UI と他のいくつかのライブラリを使用するプロジェクトに取り組んでいます。(onChange イベントの後) 入力検証を実行しようとしていますが、正しく機能していません。私はいくつかの ASP.NET MVC TextBox を持っており、それらにクラスごとにアクセスしようとしましたが、他のいくつかの方法でアクセスしようとしましたが、機能していません。

<%=Html.TextBox("Name1", Model.Customer.FirstName, new { style = "width:200px", @class="alphaOnly", onchange = "InputValidation();"  })%>

このコードは機能しますが、最後の 3 行を数回 (~20 回) 繰り返さなければならず、これは良くありません。問題が何であるかについてのアイデアはありますか?

function InputValidation() {
var className = $('.alphaOnly').attr('class');
var regexAlpha = new RegExp('[^[a-zA-Z]+$'); 
var value = $("#Name1").val();
value = value.replace(regexAlpha, '');           
$("#Name1").val(value);

ID を動的に取得し、「alphaOnly」クラスを使用してすべてのコントロールをループする方法をいくつか試しましたが、まだ役に立ちません。

4

1 に答える 1

1

ID を取得する必要はありません。オフ クラスを選択するだけで済みます。セレクターは一致するすべてのアイテムを返し、次のような結果に関数を適用できるため、ループする必要はありません。

function InputValidation(){
    var regexAlpha = new RegExp('[^[a-zA-Z]+$');
    $(".alphaOnly").each(function(){
        this.value = this.value.replace(regexAlpha, '');
    });
}
于 2013-03-22T19:35:10.067 に答える