0

親ボタンがクリックされたときに警告を表示しようとしていますが、正しく機能していません。入力の値が過去の任意の日の場合、警告が表示されます。

HTMLは次のとおりです。

<div class="well">
  <button class="expando" />
  <fieldset class="hire_date_wrapper">
    <label>Hire Date</label>
    <input type="text" name="input_name" /><br />
    <span class="date_warning">Warning message</span>
  </fieldset>
</div>

ここにjsがあります:

$('.expando').click(function(){
    var well = $(this).parents('.well');
    var hiredate = well.children('[name="input_name"]').val();
    var today = new Date();
    if (hiredate < today) {
        well.children('.date_warning').show();
    } else {
        well.children('.date_warning').hide();
    };
});
4

2 に答える 2

2

入力した日付を日付オブジェクトに変換する必要があります

$('.expando').click(function(){
    var well = $(this).parents('.well');
    var hiredate = new Date($( '[name="input_name"]', well).val());
    var today = new Date();
    if ( isNaN( hiredate.getTime() ) ) {
        $( '.date_warning', well ).show();
    } else {
        if (hiredate.getTime() < today.getTime()) {
            $( '.date_warning', well ).show();
        } else {
            $( '.date_warning', well ).hide();
        }
    }
});​

ここで試してみてください:http://jsfiddle.net/TM5EK/

于 2012-12-21T19:34:16.113 に答える