2014-02-28 79 views
0

我想在運行時更改文本框的值。在url中添加js函數作爲參數

我有這個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>) 
    )) 

回答

0

讓您的錨標記爲乾淨,並設置HTML 5的數據爲您的參數屬性值。

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

現在收聽此錨標記上的點擊事件,並將目標網址和導航欄構建爲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; 
    }); 

}); 
+0

我認爲這應該是另一個簡單的解決方案,這個看起來很複雜 –