2017-09-01 37 views
1

我正在工作一個MVC ASP.Net應用程序,用戶需要填寫表單。有一個文本框,用戶必須輸入他們在當前工作中工作了多久。如果用戶進入不到三年,那麼我需要他們以前的工作表格的一部分才能彈出。加載頁面時,此部分用jQuery隱藏。文本框中的特定文本是否可以觸發jQuery事件?

用戶可以輸入0到99之間的數字,否則會觸發錯誤。出於這個原因,我不能真正使用下拉菜單來做到這一點;用戶輸入值更有意義。

輸入到文本框中的特定值是否可以觸發jQuery事件發生?我一直在試圖找到解決我的問題的方法,而且我對jQuery的經驗不足也影響了我的工作能力。我真的可以使用一些指導,因爲從邏輯上講,這段代碼在我的腦海中是有道理的,我不知道自己出錯的地方。

MVC模式

[Required] 
    [Range(0, 99)] 
    [Display(Name = "Number of Years at Current Employer")] 
    public int Buy1YearsAtEmployer { get; set; } 

HTML /剃刀語法:

<div class="form-group required col-md-4"> 
     @Html.LabelFor(model => model.Buy1YearsAtEmployer, new { @class = "control-label" }) 
     @Html.TextBoxFor(model => model.Buy1YearsAtEmployer, new { id = "applicantYearsAtCurrentEmployer", @Value = "", @class = "form-control" }) 
     @Html.ValidationMessageFor(model => model.Buy1YearsAtEmployer, "Please enter a valid number of years", new { @class = "text-danger" }) 
    </div> 


<div class="container" id="applicantPreviousWork"> 
     <h4>Your Previous Employment</h4> 
     <!--More code--!> 
    </div> 

jQuery的

$('#applicantYearsAtCurrentEmployer').focusout(function() { 
    if ($(Buy1YearsAtEmployer).val() <= 3) { 
     $('#applicantPreviousWork').show(); 
    } 
    else { 
     $('#applicantPreviousWork').hide(); 
    } 
}); 
+1

這樣的:'$(Buy1YearsAtEmployer)'應該是'$( '#applicantYearsAtCurrentEmployer')'或'$(本)'因爲回調具有輸入的執行上下文 –

回答

0

這將正常工作。將Buy1YearsAtEmployer更改爲thisSee my fiddle

<input id="applicantYearsAtCurrentEmployer"> 

<div id="applicantPreviousWork" style="display:none;"> 
Years worked... 
</div> 

而且JS:

$('#applicantYearsAtCurrentEmployer').focusout(function() { 
    if ($(this).val() <= 3) { 
     $('#applicantPreviousWork').show(); 
    } 
    else { 
     $('#applicantPreviousWork').hide(); 
    } 
}); 
0

使用上的文本框jQuery的變化功能來捕捉價值。然後,根據該值打開彈出窗口。對於輸入文本字段,更改事件在值更改且文本字段失去焦點時觸發。

https://api.jquery.com/change/

$(document).ready(function(){ 
$('#applicantYearsAtCurrentEmployer').change(function() { 
    var currVal = $(this).val(); 
//Now put your logic here. 
});}); 
相關問題