-1
對於我的生活無法弄清楚如何顯示我從我的控制器的'cics'對象返回的值。當我調試控制器時,它將返回值。但我似乎無法在ajax調用中找出我的'成功'方法。任何人都可以幫助我,我要去哪裏錯了?此外,這可以有多個產品,所以我試圖保持它特定於該元素。任何幫助將非常感激。無法讓Jquery成功的方法工作
function FillProductbyupc(el) {
var val = el.value;
var container = $(el).parent().parent();
var pcics = container.children(".cics");
var elements = document.getElementsByClassName('product');
$.ajax({
url: '/Case/GetData/',
type: "GET",
dataType: "JSON",
data: "upc=" + val,
success: function (cics) {
//container.cics.val(cics.CorpItemCode);
$("#upc").html(""); // clear before appending new list
$("#corpitemcode").html(""); // clear before appending new list
$("#itemdesc").html(""); // clear before appending new list
$("#corpitemcode").append(
$('#corpitemcode').val(cics.CorpItemCode));
$("#itemdesc").append(
$('#itemdesc').val(cics.ItemDsc));
},
error: function() {
alert("UPC does not exist");
}
});
}
這是我的產品。
<div class="product">
<div class="alert alert-info" role="alert">
<div class="row">
<div class="form-group">
<div class="col-md-2">
@Html.LabelFor(x => x.UPC)<small><span class="glyphicon glyphicon-asterisk text-danger"></span></small>
@Html.TextBoxFor(x => x.UPC, null, new { @class = "form-control produpc", placeholder = Html.DisplayNameFor(x => x.UPC), @onblur = "FillProductbyupc(this)" })
@Html.ValidationMessageFor(x => x.UPC, "", new { @class = "text-danger" })
</div>
<div class="col-md-2">
@Html.LabelFor(x => x.PLU)<small><span class="glyphicon glyphicon-asterisk text-danger"></span></small>
@Html.TextBoxFor(x => x.PLU, null, new { @class = "form-control prodplu", placeholder = Html.DisplayNameFor(x => x.PLU) })
@Html.ValidationMessageFor(x => x.PLU, "", new { @class = "text-danger" })
</div>
<div class="col-md-2">
<label>CIC</label>
@Html.TextBoxFor(p => p.CIC, new { @class = "form-control prodcic" })
</div>
<div class="col-md-2">
<label>Desc</label>
@Html.TextBoxFor(p => p.Description, new { @class = "form-control proddesc" })
</div>
<div class="col-md-1">
<label>Size</label>
@Html.TextBoxFor(p => p.Size, new { @class = "form-control prodsize" })
</div>
<div class="col-md-1">
<label>Shelf Price</label>
@Html.TextBoxFor(p => p.ShelfPrice, new { @class = "form-control prodprice" })
</div>
<div class="col-md-1">
<label>Like CIC</label>
@Html.TextBoxFor(p => p.LikeCIC, new { @class = "form-control prodlikecic" })
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
@Html.RemoveLink("Remove", "div.product", "input.mark-for-delete")
</div>
</div>
</div>
控制器。
public JsonResult GetData(string upc, decimal? corpitemcode)
{
if (!string.IsNullOrEmpty(upc))
{
upc = upc.Replace("-", "");
}
CICS cics = new CICS();
cics = CICSManager.GetbyUPCorCorp(upc, corpitemcode);
return Json(cics, JsonRequestBehavior.AllowGet);
}
工作職能
function FillProductbyupc(el) {
var val = el.value;
var container = $(el).parent().parent();
var pcics = $(container).find('.prodcic');
var pdesc = $(container).find('.itemdsc');
$.ajax({
url: '/Case/GetData/',
type: "GET",
dataType: "JSON",
data: "upc=" + val,
success: function (cics) {
pcics.val(cics.CorpItemCode);
pdesc.val(cics.ItemDsc);
},
error: function() {
alert("UPC does not exist");
}
});
}
你期望'$(「#corpitemcode」)。append( $('#corpitemcode').val(cics.CorpItemCode));'要做什麼?你正在爲自己添加一個元素。 – Barmar
而'.val(cics.CorpItemCode)'只對輸入元素有意義。什麼類型的元素是'#corpitemcode'? – Barmar
所有這些都是輸入元素。我試圖用'cics'對象中的內容填充其他文本框。我只是不知道如何填充這些。 – brachen33