Javascript 将输入值发送到ActionLink

Javascript 将输入值发送到ActionLink,javascript,jquery,asp.net-mvc,Javascript,Jquery,Asp.net Mvc,输入值: <input type="text" id="quantity" value="1" size="2"/> ActionLink已替换为Url。操作: <a href="@Url.Action("AddToCart", "Shop", new {parts_id=@Model.Parts.parts_id, quantity = "xxx"})" id="lnk">To cart</a> 和JS,其中我尝试替换值: <script

输入值:

<input type="text" id="quantity" value="1" size="2"/>

ActionLink已替换为Url。操作:

<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>

$(“#lnk”)。单击(函数(evt){
var fakeUri=$(“#lnk”).prop(“href”);
var uri=fakeUri.replaceWith(“xxx”,$(“#数量”).val();
uri=$(“#lnk”).prop(“href”,uri);
});
我认为问题出在JS中,值没有替换,客户端发送“xxx”

这应该可以工作

您的
href=“@Url.Action”(“AddToCart”

它将返回一个类似于
@Url.Action(“addToCart”
href
,因为


或者你可以这样做,让我们试试不同的方法, 首先,我们为数量更改添加事件侦听器,每次都会替换href属性值,注意我们应该使用
attr
而不是
prop
像这样的

<a href="#" id="lnk">To cart</a>

请尝试
attr(“href”)
,doc here@CarstenLøvboAndersen无法在没有window.location的情况下执行此操作?因为按照您的方式尝试,我遇到了一些问题,但什么都没有,href仍然等于#什么都没有,不知道为什么,包括所有参考资料
$(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);
});