我有以下 Jquery 从对话框返回值并填写主页中的值:
function AutoCompleteTopayer(pName, addLine, pCity, pState, pZip, pPhone) {
$(".PayerName").html(pName);
$("#txtPayerAddress").val(addLine);
$("#txtPayerCity").val(pCity);
$("#txtPayerState").val(pState);
$("#txtPayerZip").val(pZip);
$("#txtPayerPhone").val(pPhone);
var csz = pCity + ", " + pState + ", " + pZip;
$("#txtCStateZip").val(csz);
$("#SearchPayDlg").dialog("close");
}
我的观点代码:
@Html.TextBoxFor(model => model.cityStateZip, new { @class = "fauxInput", id = "txtCStateZip" })
@Html.HiddenFor(model => model.payerCityName, new { id = "txtPayerCity" })
@Html.HiddenFor(model => model.payerStateCode, new { id = "txtPayerState" })
@Html.HiddenFor(model => model.payerPostalZoneOrZipCode, new { id = "txtPayerZip" })
这给出了以下输出:
当我将 TextBoxFor 替换为 DisplayFor ...时,未显示这些值。我发现一篇文章以某种方式解决了我的问题,所以我想出了这段代码:
<span class="txtPayerName">
@Html.DisplayFor(model => model.payerName, new { @class = "fauxInput" })
</span>
并在 JQuery 方法中:
$(".txtPayerName").html(pName);
,但这也不起作用。任何解决方案?
后来编辑:对不起,我发现这完全是一个错字......最后一个确实有效..我已经编辑并将它放在这里,以便其他人可以从中受益。
上面的代码仅适用于 displayFor 的类不起作用(感谢 Darin Dimitrov),所以这应该起作用:
<span class="txtPayerName fauxInput">
@Html.DisplayFor(model => model.payerName)
</span>