Добрый деньПолучение значения текстового поля MVC с помощью Jquery
Я пытаюсь получить значение поля текстового поля в MVC, используя бритву и присвоить его переменной позже передается через AJAX к контроллеру действий. Я пробовал использовать .val(), но при отладке с помощью инструментов разработчика Google я продолжаю получать .val() не является функцией. Я не так опытен с jquery прямо сейчас и хотел бы немного помочь. Герре ниже.
Jquery код
$(".RefreshQuantity").click(function() {
// Get the id from the link
var productToUpdate = $(this).attr("data-id");
var countToUpdate = $('#txt-id').val();
if (productToUpdate != '') {
// Perform the ajax post
$.post("/ShoppingCart/UpdateQuantity", { "id": productToUpdate, "cartCount": countToUpdate },
function (data) {
// Successful requests get here
// Update the page elements
if (data.ItemCount == 0) {
$('#row-' + data.DeleteId).fadeOut('slow');
} //else {
// $('#item-count-' + data.DeleteId).text(data.ItemCount);
//}
$('#cart-total').text(data.CartTotal).formatCurrency();
$('#update-message').text(data.Message).show();
setTimeout(function() { $("#update-message").hide(); }, 4000);
$('#cart-status').text('Cart (' + data.CartCount + ')');
});
}
})
Я пытаюсь получить значение и присвоить его переменной countToUpdate,
Мой Бритва код ниже
@{int i = 0;}
@foreach (var item in Model.CartItems)
{
<tr id="[email protected]">
<td>
@*@item.ProductAttribute.Product.ProductImagePath*@
<img src="/Images/OnlineStore/ProductImages/@item.ProductAttribute.Product.ProductImagePath"
style="border:solid; height: 50px; width: 50px; border-color: #CCCCCC;" alt="@item.ProductAttribute.Product.ProductImagePath" />
</td>
<td>
@item.ProductAttribute.OrderCodeID
</td>
<td>
@Html.ActionLink(item.ProductAttribute.Product.ProductName, "ProductDetails", "Store", new { productId = item.ProductAttribute.ProductID }, null)
</td>
<td>
@String.Format("{0:c}",@item.ProductAttribute.Product.ProductPrice)
</td>
@*<td id="[email protected]">
@item.Quantity
</td>*@
<td>
@Html.TextBoxFor(model => model.CartItems[i].Quantity, new { style = "width:50px; text-align:right"})
</td>
<td>
<a href="#" class="RemoveLink btn-success btn-sm" data-id="@item.OrderCodeID" >
<i class="fa fa-times"> Remove All</i></a>
<a href="#" class="RefreshQuantity btn-success btn-sm" data-id="@item.OrderCodeID" txt-id="[email protected](i)__count ">
<i class="fa fa-refresh"> Update</i>
</a>
</td>
@*<td>
<a href="#" class="RemoveLink btn-success btn-xs" data-id="@item.OrderCodeID">Update</a>
</td>*@
</tr>
i++;
}
Пожалуйста, помогите, был в это на пару часов.
Если вы получаете «' валь() 'не является функцией» (метод, который только существует как часть библиотеки jQuery), вы подтвердили, что на самом деле вы включаете и правильно загружаете библиотеку jQuery? Инструменты разработчика должны сообщать вам, какие внешние скрипты загружены, и любые другие ошибки JS. –
Вы ссылаетесь на 'var countToUpdate = $ ('# txt-id'). Val();'? У вас нет элементов с идентификатором 'id =" txt-id ", поэтому он не будет определен. –
Элемент отсутствует в блоке кода Razor, int оператор foreach –