2012-12-21 99 views
0

我試圖在用戶輸入日期之前顯示警告。發生這種情況時,我想顯示這個span標籤。我還需要檢查跨度是否已經在那裏,因此我不再添加它。jQuery檢查輸入值並顯示基於值的警告

這是我到目前爲止有:

$('[name="input_name"]').blur(function(){ 
     var today = new Date(); 
     var hiredate = new Date(value); 
     if (hiredate < today) { 
     $(this).after("<span class='date_warning'>Warning hire</span>"); 
    } 
    else{ 
     $('span').remove('.date_warning'); 
    } 
}); 

有什麼建議?

回答

2

您需要使用this.value代替value

變化

var hiredate = new Date(value); 

var hiredate = new Date(this.value); 
+0

真棒樣子。我遇到了重複的span標籤問題。 – dbizzell

+0

你能解釋一下什麼是問題,添加HTML可以使它易於理解和達成的解決方案 – Adil

+0

下面是HTML我現在所擁有的 -

\t \t
dbizzell

0

,你可以做這樣的

$('[name="input_name"]').blur(function(){ 
     var today = new Date(); 
     var hiredate = new Date($(this).val()); 
     if (hiredate < today) { 
     $(this).next('.date_warning').remove(); 
     $(this).after("<span class='date_warning'>Warning hire</span>"); 
    } 
    else{ 
     $(this).next('.date_warning').remove(); 
    } 
}); 

DEMO

嘗試改變值輸入字段

+0

真棒這是工作,但我仍然得到重複跨度標籤 – dbizzell

0

嘗試這樣的工作這

$('[name="input_name"]').blur(function(){ 
    $('.date_warning').remove(); 
    var today = new Date(); 
    var hiredate = new Date(this.value); 
    if (hiredate < today) { 
     $(this).after("<span class='date_warning'>Warning hire</span>"); 
    } 
});