输入值:
<input type="text" id="quantity" value="1" size="2"/>
ActionLink替换为Url.Action:
<a href="@Url.Action("AddToCart", "Shop", new {parts_id=@Model.Parts.parts_id, quantity = "xxx"})" id="lnk">To cart</a>
和JS,我正在尝试替换值:
<script>
$("#lnk").click(function (evt) {
var fakeUri = $("#lnk").prop("href");
var uri = fakeUri.replaceWith("xxx", $("#quantity").val());
uri = $("#lnk").prop("href", uri);
});
</script>
我认为问题出在JS中,值不是替换,客户端发送“xxx”
答案 0 :(得分:0)
这应该有效
您href="@Url.Action("AddToCart"
它会返回href
,看起来像@Url.Action("addToCart"
,仅此而已。因为"
或者您可以执行此操作<a href="@(Url.Action("AddToCart", "Shop ", new {parts_id=@Model.Parts.parts_id, quantity = "xxx "}))">
^在()
url
$("#lnk").click(function(event) {
event.preventDefault();
var fakeUri = $("#lnk").attr("href");
var uri = fakeUri.replace("xxx", $("#quantity").val());
uri = $("#lnk").attr("href", uri);
window.location = uri;
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="quantity" value="1" size="2" />
<a href='@Url.Action("AddToCart", "Shop ", new {parts_id=@Model.Parts.parts_id, quantity = "xxx "})' id="lnk">To cart</a>
&#13;
答案 1 :(得分:0)
让我们尝试不同的方式,
首先我们为数量变化添加事件监听器,每次发生时,我们都会替换href属性值,注意我们应该使用attr
而不是prop
像这样的东西
<a href="#" id="lnk">To cart</a>
js
$(document).on("change","#quantity",function () {
var qnty = $("#quantity").val();
var theuri = "@Url.Action("AddToCart", "Shop")?parts_id=@Model.Parts.parts_id&quantity="+qnty;
$("#lnk").attr("href", theuri);
});