【问题标题】:add js function as parameter in url.action在 url.action 中添加 js 函数作为参数
【发布时间】:2014-04-01 19:12:44
【问题描述】:

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

我有这个 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>)
    ))

【问题讨论】:

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


    【解决方案1】:

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

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

    现在监听这个锚标签上的点击事件并构建目标 url 并导航到 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;
      });
    
    });
    

    【讨论】:

    • 我觉得应该是另一个简单的解决方案,这个看起来好复杂
    猜你喜欢
    • 1970-01-01
    • 2020-07-09
    • 2022-01-22
    • 1970-01-01
    • 2016-04-03
    • 1970-01-01
    • 1970-01-01
    • 2018-12-01
    • 2019-02-14
    相关资源
    最近更新 更多