2017-08-03 38 views
1

我目前正在創建一個MVC項目,該項目從模型生成的表單/視圖中獲取數據。使用jQuery根據MVC輸入框中的數據觸發動作

我希望能夠檢查窗體中的用戶輸入。如果該輸入小於1,則會觸發另一個信息面板打開。下面的代碼功能不正常。我到底如何做到這一點?

在我看來:

 <div class="form-group"> 
      @Html.LabelFor(model => model.Buy2Yearsataddress, htmlAttributes: new { @class = "control-label col-md-2" }) 
      <div class="col-md-10" id="coBuyerYearsAtAddress"> 
        @Html.EditorFor(model => model.Buy2Yearsataddress, new { htmlAttributes = new { @class = "form-control" } }) 
        @Html.ValidationMessageFor(model => model.Buy2Yearsataddress, "", new { @class = "text-danger" }) 
      </div> 
     </div> 

這裏還有什麼是我的腳本文件:

$("#coBuyerYearsAtAddress").focusout(function() { 
     if ($("#coBuyerYearsAtAddress").val() <= 1) { 
      $('#coBuyerPreviousResidence').show(); 
     } 
     else { 
      $('#coBuyerPreviousResidence').hide(); 
     } 
}); 
+1

定義「不是正確引用」。代碼在做什麼?你期望它做什麼?爲什麼?當你在調試器中執行代碼時,它與你的期望有什麼不同? – David

回答

0

看起來你正在檢查coBuyerYearsAtAddress的價值,但您應該檢查「Buy2Yearsataddress」的值。

+0

這完全解決了我的問題。我知道這會超級簡單。非常感謝!我很感激! – cryan

1

請嘗試以下

$('.form-control').change(function(){ 
    if ($(this).val() <= 1) { 
     $('#coBuyerPreviousResidence').show(); 
    } 
    else { 
     $('#coBuyerPreviousResidence').hide(); 
    } 
}); 
+0

第二個幾乎工作。輸入輸入後,面板彈出。但是,它不檢查邏輯。換句話說,我可以輸入一個0或300,面板彈出任何一種方式。思考?此外,不完全確定什麼您需要什麼html生成。我很樂意給予澄清! – cryan

+0

@cryan現在檢查 – jeanfrg

相關問題