1

値がnullまたは空でない場合にのみ表示したい入力がフォームにあるので、コードで入力を作成します(Play!で生成されたhtmlは次のようになります)-

<dl class=" " id="entry_field">
  <dt><label for="entry">Blah:</label></dt>
  <dd>
    <input type="text" id="entry" name="entry" value="Blah" readonly="readonly">
  </dd>
</dl>

次に、次のようにjQueryonloadイベントで非表示にします。

$(document).ready(function() {
  $( "#entry_field" ).hide();
});

そこで、入力エントリにnull以外の値があるかどうかをテストし、ある場合はすべてを表示します。そこで、以下を試しましたが、entry_fieldが表示されません。

if( $('#entry').attr("value") != '') {
  $( '#entry_field').show();
}
4

2 に答える 2

0

DOMReadyハンドラー内にこれを追加しているとは思いません。

必ずその中に追加してください。そうしないと、機能しない可能性があります。

$(document).ready(function() {
    $("#entry_field").hide();

    if ($('#entry').attr("value") != '') {
        $('#entry_field').show();
    }
});​

.val() 代わりに使用してください

 if( $('#entry').val() !== '') {

フィドルをチェック

于 2012-12-05T16:48:13.267 に答える
0

コードの 2 番目のスライスが呼び出されていますか? おそらく、console.log("hey") などを追加してみてください。コードを試すためにこの jsFiddleを作成したため、完全に機能します:)

このように、$(document).ready に両方のフィールドを追加してみてください。

$(document).ready(function() {
    $( "#entry_field" ).hide();

    if( $('#entry').attr("value") != '') {
        $( '#entry_field').show();
    }
});

負荷をチェックしたい場合、イベントなどをトリガーしたときに関数を呼び出したい場合は、必ず適切なイベントに割り当ててください。

于 2012-12-05T16:54:21.610 に答える