0

私はasp.net mvc3アプリケーションに取り組んでいます。type="text"ビューには、特定の条件下で表示される非表示の入力フィールドがあります。条件が満たされ、フィールドが表示されている場合、入力されたテキストがある場合、クライアント側の検証を実行したいと考えています。

非表示のときに入力用にレンダリングされる HTML は次のとおりです。

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

入力が表示されると、HTML は次のように変わります。

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

私の.jsファイルにはこれがあります:

$("input.yesNoNotApplicableTextbox[type='text'][style='display: none;']")

実際、フィールドが表示されていない場合は必要ありません。これが機能するかどうか、実際に機能するかどうかを確認したかっただけです。しかし、入力が次のように表示されているかどうかを確認すると、生成された HTML に応じて次のようになります。

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

動いていない。

入力フィールドが表示されているかどうかを確認するにはどうすればよいですか?

4

5 に答える 5

2
$("input.yesNoNotApplicableTextbox[type='text']:hidden") //hidden ones

$("input.yesNoNotApplicableTextbox[type='text']:visible") //visible ones
于 2013-06-19T12:23:06.163 に答える
2

これにより、セレクターに一致し、表示されている要素のみが選択されます。

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

:visibleとの違い.is(':visible')は次のとおりです。

:visible
私: jQuery さん、このセレクターに一致し、表示されているすべての要素を教えてください。
jQuery: わかりました、ここに要素があります。

.is(':visible')
私: jQuery さん、このセレクターに一致するすべての要素を教えてください。
jQuery: リクエストした要素は次のとおりです。
私: では、このリストから表示されている要素を教えてください。

jQueryドキュメントから:

説明: 表示されているすべての要素を選択します。

ドキュメント内のスペースを消費する場合、要素は可視と見なされます。可視要素の幅または高さが 0 より大きい。

于 2013-06-19T12:24:40.913 に答える
1
if($("input.yesNoNotApplicableTextbox[type='text']").is(':visible')){
    alert("Visible");
}
于 2013-06-19T12:23:48.293 に答える
1

:visibleセレクターを使用します。

$("input.yesNoNotApplicableTextbox[type='text']:visible")
于 2013-06-19T12:24:11.200 に答える
0
$("input.yesNoNotApplicableTextbox[type='text']").is(":visible")
于 2013-06-19T12:23:38.690 に答える