2016-01-08 3 views
-2

я следующую формуполучить значение модели свойства

@model project_name.Models.AddNewProduct  

<h4>Add New Product</h4>  

@using (Html.BeginForm()) 
{ 
    @Html.AntiForgeryToken() 

    <div class="form-horizontal">     
       @Html.LabelFor(model => model.Product_ID, htmlAttributes: new { @class = "control-label col-md-2" }) 
      <div class="col-md-10"> 
       @Html.TextBoxFor(model => model.Product_ID, new { @class = "form-control" }) 
      </div> 
    </div> 

    <div class="form-group"> 
     <div class="col-md-offset-2 col-md-10"> 
      <input type="submit" value="Create" class="btn btn-default" /> 
     </div>    
    </div> 
} 

Я хочу, чтобы получить эти свойства модели с помощью JQuery или JavaScript

для этого я просто следовал подход как ниже

@model project_name.Models.AddNewProduct  

<h4>Add New Product</h4>  

@using (Html.BeginForm()) 
{ 
    @Html.AntiForgeryToken() 

    <div class="form-horizontal">     
       @Html.LabelFor(model => model.Product_ID, htmlAttributes: new { @class = "control-label col-md-2" }) 
      <div class="col-md-10"> 
       @Html.TextBoxFor(model => model.Product_ID, new { @class = "form-control" }) 
      </div> 
    </div> 

    <div class="form-group"> 
     <div class="col-md-offset-2 col-md-10"> 
      <input type="submit" value="Create" class="btn btn-default" /> 
     </div> 
     <div id="testid" class="col-md-offset-2 col-md-10" > 
      <input type="button" value="Test" class="btn btn-default" /> 
     </div>   
    </div> 
} 

затем в javascipt

<script type="text/javascript"> 

    $(document).ready(function() { 

     var sampleID; 

     $("#Product_ID").keyup(function() { 
      sampleID = $('#Product_ID').val();    
     }); 

     $('#testid').click(function() { 
      alert(sampleID); 
     }); 
    }); 

</script> 

Но кажется, что это не оптимальный подход меня, keyup оценить, если может предложить хороший способ, чтобы получить эти значения сразу после Courser из

+1

Что случилось только с '$ ('# TestID') нажмите (функция() {Alert ($ ('# PRODUCT_ID') Val());.}', Но что является элементом с 'ид = "testid" '? –

+0

@StephenMuecke это способ, но есть ли какая-либо функция для получения этого значения без' .click() '? – kez

+0

Не знаете, чего вы хотите достичь - вы могли бы, например, использовать' $ ("# Product_ID ") .change (function() {alert ($ (this) .val());})' для отображения предупреждения каждый раз, когда пользователь меняет значение (и выходы из элемента управления) –

ответ

0

Вы можете получить значение #Product_ID в случае щелчка #testid используя $('#Product_ID').val(), как показано ниже.

$('#testid').click(function() { 
    alert($('#Product_ID').val()); 
}); 
+0

Один кодовый блок не дает хорошего ответа. Пожалуйста, добавьте объяснения (почему он решает проблему, где была ошибка и т. Д.) –

+0

есть ли какая-либо функция для получения этого значения без '.click()'? – kez

+0

Просто используйте '$ ('# Product_ID'). Val()' где вы хотите значение. @kez – Azim

0

Поскольку вы используете бритву, то вы можете использовать @, чтобы получить его непосредственно в JQuery, как так:

$(function() { 
    var sampleID = "@Model.Product_ID"; 
}); 
0

Это выглядит как опечатка в вашем JS. измените kepup на клавиатуру.

Это должно работать должным образом.

$("#Product_ID").keyup(function() { 
    sampleID = $('#Product_ID').val();alert(sampleID);  
    //or you can use 
    alert($(this).val()); 
}); 
0

Модель только на стороне сервера. Если вам нужно что-то сделать со значениями в представлении, вы обрабатываете его, как если бы это была обычная HTML-страница и javascript.

Если вы хотите захватить значение поля ввода, используйте событие размытия, которое запускается, когда фокус потерян. .

$("#Product_ID").blur(function() { 
    alert("Handler for .blur() called."); 
}); 
Смежные вопросы