1

使用すると、この関数はすべてのテキストボックスでどのように機能しますか

$('#date, #date2').blur(function () {

しかし、私が使用するときではありません

$('#date').blur(function () {?

MVC ビューア:

@Html.TextBoxFor(x => x.ArrivalDateStart, new { id = "date" })
@Html.TextBoxFor(x => x.ArrivalDateEnd, new { id = "date" })
@Html.TextBoxFor(x => x.OtherDateEnd, new { id = "date" })
@Html.TextBoxFor(x => x.OtherDateEnd, new { id = "date" })

Javascript:

$(function () {
    $('#date, #date2').blur(function () {
        var date = $(this).val();
        var result = "";
        if (date.length === 8) {
            result = result += date.substring(0, 4) + "-" + date.substring(4, 6) + "-" + date.substring(6, 8);
            $(this).val(result);
            $(this).blur()
        }
    });
});
4

3 に答える 3

11

要素には一意の ID が必要です。これを ID 属性ではなくクラス属性に変換します。

@Html.TextBoxFor(x => x.ArrivalDateStart, new { @class = "date" })

次のように選択します。

$('.date').blur(function () {
于 2012-11-29T13:17:23.753 に答える
0

まず、id は 1 つの要素に対して一意である必要があるため、すべてnew { id = "date" }の要素に与えることはできません。しかし、それらに同じclassNameを与えることができnew { @class = "date" }、セレクターを「.date」に変更すると、うまくいくはずです。

于 2012-11-29T13:18:33.997 に答える
0

複数の要素に対して同じ ID を持つことはできません! date1、date2、date3 などの ID を設定すると、次のようなセレクターを作成できます。

$('textarea[id^="date"]')
于 2012-11-29T13:20:10.157 に答える