0

私はasp.net mvc3アプリケーションに取り組んでいます。私のカミソリビューでは、テキストボックスを次のように設定しました:

@Html.TextBoxFor(x => Model[i].FieldValue, new { @class = "yesNoNotApplicableTextbox", style = "display: none;" })

最初は非表示です。それを示すために打たなければならない条件があります。そして、私はそれを次のように示します:

$('.YesNoNotApplicable').change(function () {
    if ($(this).val() === '2') {
        $(this).closest('td').next('td').find('input').show();
    }
    else {
        $(this).closest('td').next('td').find('input').hide();
    }
});

一言で言え.YesNoNotApplicableば、ドロップダウンのクラスであり、特定の値が選択されている場合は、テキストボックスを表示します。

フォームのこの部分すべて、および送信時にテキストボックスの値を確認したい (表示されているか非表示になっているかを確認する方法はまだ考えていません。最初にチェックを実装したかったのです)。

 $(".yesNoNotApplicableTextbox input[type='text']").each(function () {
            if ($(this).val().trim().length < 1) {
                $(this).focus();
                throw "Please insert text!";
            }
        });

しかし、ドロップダウンから正しい値を選択してテキストボックスを表示するかどうかに関係なく、チェックは実行されません。テキストボックスは空ですが、エラーは発生しません。

このテキストボックスが非表示の場合に生成される HTML は次のとおりです。

<input class="yesNoNotApplicableTextbox" type="text" value="" style="display: none;" name="[14].FieldValue">

そして、私がそれを示すとき:

<input class="yesNoNotApplicableTextbox" type="text" value="" style="" name="[14].FieldValue">

値チェックを実行するにはどうすればよいですか?

4

1 に答える 1

2

あなた.yesNoNotApplicableTextboxは入力なので、これを行うとき:

$(".yesNoNotApplicableTextbox input[type='text']")

の子入力を選択します.yesNoNotApplicableTextbox。これを試して :

$("input.yesNoNotApplicableTextbox[type='text']")
于 2013-06-18T14:14:40.330 に答える