在url.action中添加js函数作为参数

时间:2014-02-28 16:48:15

标签: c# javascript asp.net-mvc url webgrid

我想在运行时更改文本框的值。

我有这个JavaScript函数,它返回一个文本框值:

function getValue(str) {
   var textboxValue = document.getElementById(str).value;
   return textboxValue;
}

这是我的链接:

wg.Column(
        header: " add ", format: @<text>
        <a href="@Url.Action("updateOrder", "MyController", new { VaraId = item.id,  pris = // Here I want to call function getValue("pris") }) ">
      ADD NEW
        </a>
        </text>)
    ))

1 个答案:

答案 0 :(得分:0)

将您的锚标记保持干净,并为参数值设置HTML 5数据属性。

<a class="myLink" href="@Url.Action("updateOrder", "MyController")"
        data-itemid = @item.id data-pris="pris">ADD NEW </a>

现在听一下这个锚标签上的click事件,并建立目标网址并导航到taht。

$(function(){

  $("a.myLink").click(function(e){
     e.preventDefault();
     var _this=$(this);
     var calculatedVal=getValue(_this.data("pris"));
     var target=_this.attr("href")+"?VaraId="+_this.data("itemid")+
                                                      "&pris="+calculatedVal ;
     window.location.href=target;
  });

});

假设您已将jQuery加载到您的页面。

如果你的getValue函数只是返回元素的值,你可以使用jQuery选择器来获取值。

$(function(){

  $("a.myLink").click(function(e){
     e.preventDefault();
     var _this=$(this);
     var calculatedVal=$("#"+_this.data("pris")).val();
     var target=_this.attr("href")+"?VaraId="+_this.data("itemid")+
                                                       "&pris="+calculatedVal ;
     window.location.href=target;
  });

});