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);
});