0

.blur()datepicker と timepicker が関連付けられた 4 つのテキスト入力のイベントがあります。次のコントロールに「タブ」すると正常に動作しますが、外側のどこかをクリックしてもイベントはトリガーされません。何か間違ったことをしていますか、それとも.blur()イベントに問題がありますか?

イベントの JavasSript コード:

    $(".calcTimespan").blur(function () {
        $.ajax({
            type: "GET",
            url: '@Url.Action("CalculateTimespan")',
            data: {
                "franDatum": $("#Dyk_FranDatum").val(),
                "franTid": $("#Dyk_FranTid").val(),
                "tillDatum": $("#Dyk_TillDatum").val(),
                "tillTid": $("#Dyk_TillTid").val()
            },
            dataType: 'html',
            cache: false,
            success: function (data) {
                if (data != "FAIL")
                    $("#Dyk_DyktidMinuter").val(data);
            },
            error: function (jqXHR, textStatus, errorThrown) {
                alert("Ett fel inträffade vid hämtning av dykning!");
            }
        });
    });

HTML:

    <div>
        <label for="Fr_n_datum">Fr&#229;n datum</label>
        <label style="margin-left: 40px;">Tid</label>
        <br />
        <input class="halv datumpicker calcTimespan" id="Dyk_FranDatum" name="Dyk.FranDatum" type="text" value="" />
        <input class="halv tidpicker calcTimespan" id="Dyk_FranTid" name="Dyk.FranTid" type="text" value="" />
    </div>
    <br />

    <div>
        <label for="Till_datum">Till datum</label>
        <label style="margin-left: 50px;">Tid</label>
        <br />
        <input class="halv datumpicker calcTimespan" id="Dyk_TillDatum" name="Dyk.TillDatum" type="text" value="" />
        <input class="halv tidpicker calcTimespan" id="Dyk_TillTid" name="Dyk.TillTid" type="text" value="" />
    </div>
    <br />

    <div>
        <label for="Dyktim__min_">Dyktim (min)</label>
        <label style="margin-left: 33px;">Pris per minut</label>
        <br />
        <input class="halv" id="Dyk_DyktidMinuter" name="Dyk_DyktidMinuter" type="text" value="" />
        <input class="halv" id="Dyk_Pris" name="Dyk.Pris" type="text" value="" />
    </div>

私はIE9のみを対象としています。

編集 イベントは正常に機能しているようです。問題は、日付ピッカーをクリックして日付を選択すると、すでに日付をマウスで押しているときに、入力テキストのコンポーネントによって値がまだ設定されていないにもかかわらず、イベントがトリガーされることです!

ここで、「マウスダウン」の日付を取得するか、実際に入力テキストに設定されるまでイベントを遅らせる方法を見つける必要があります。

4

2 に答える 2

1

私が実際に抱えていた問題はこれでした: jqueryUI datepicker は、日付を渡す前に入力のぼかしを発生させます。回避/回避策はありますか?

問題を解決するために、Purellsの回答の変形を使用しました。

すべてのサポートに感謝します。私を本当の問題に導いたのは、この質問の助けでした。

于 2012-08-29T08:20:25.177 に答える
0

IE9 に問題があり、blur イベントが一貫して発生しないようです。代わりに要素をfocusoutにバインドしてみてください。

于 2012-08-28T13:12:20.617 に答える