Jquery 使用编辑器模板时获取控件ID
到现在为止,我已经有了一个视图和一个控制器。在我看来,当我需要脚本中的ID时,我使用了Html.IdFor 但是,添加编辑器模板后,Html.IdFor显然不起作用 所以我的问题是:当使用编辑器模板时,引用控件的最佳方式是什么?我可以添加一个唯一的类或给它一些模糊的ID,但与Html.IdFor解决方案相比,它感觉不是很通用 查看脚本:Jquery 使用编辑器模板时获取控件ID,jquery,asp.net-mvc,asp.net-mvc-4,Jquery,Asp.net Mvc,Asp.net Mvc 4,到现在为止,我已经有了一个视图和一个控制器。在我看来,当我需要脚本中的ID时,我使用了Html.IdFor 但是,添加编辑器模板后,Html.IdFor显然不起作用 所以我的问题是:当使用编辑器模板时,引用控件的最佳方式是什么?我可以添加一个唯一的类或给它一些模糊的ID,但与Html.IdFor解决方案相比,它感觉不是很通用 查看脚本: <script> $(document).ready(function () { $('#doHaveAddress').c
<script>
$(document).ready(function () {
$('#doHaveAddress').change(function () {
$('#plcBitcoinAddress').toggle();
});
$('#@Html.IdFor(m => m.PurchaseViewModel.PurchaseAmount)').keyup(function () {
updateSummary();
});
//$('#submitBtn').click(function() {
// window.location.href = "/en/orders/25892e17-80f6-415f-9c65-7395632f0223";
//});
updateSummary();
});
function updateSummary() {
var purchaseAmount = $('#@Html.IdFor(m => m.PurchaseViewModel.PurchaseAmount)').val();
var bitcoinRate = '@Helper.GetBitcoinCurrencyRate(Currency.dkk)';
// set amount
$('#summary_purchaseamount').text(purchaseAmount);
// set fee
var fee = (('@Helper.SiteFee()') / 100) * purchaseAmount;
$('#summary_fee').text(fee.toFixed(2));
// set payout
var payout = ((purchaseAmount - fee) / bitcoinRate);
$('#summary_payout').text(payout.toFixed(4));
}
</script>
您的EditorTemplate代码是什么样子的,以及如何调用您的EditorTemplate?输入字段中的第二个代码段是EditorTemplate,我通过生成UIHint来调用它,如在视图模型中所示,它应该仍然在编辑器模板中工作。@AntP它不工作。IdFor给出了PurchaseViewModel\u PurchaseAmount之类的值。如果我没有在编辑器模板中添加ID,则没有ID。如果我提供静态ID,IdFor不会获取它
<input type="text" class="form-control" style="max-width:200px;" value="@ModelRes.BuyBitcoinStrings.Purchase_Default_Amount" />
public class PurchaseViewModel
{
public string BitcoinAddress { get; set; }
[UIHint("InputGroupBox")]
public int PurchaseAmount { get; set; }
public string CurrencyChosen { get; set; }
public bool Accept { get; set; }
public PurchaseViewModel()
{
PurchaseAmount = int.Parse(ModelRes.BuyBitcoinStrings.Purchase_Default_Amount);
}
}