2014-08-28 90 views
0

我想使用href調用控制器,然後在視圖中顯示數據。我測試了以下href和它的工作:將選定的roecord ID傳遞給href

<a href="/Samples/[email protected]" class="btn btn-primary btn">Add Sample/a> 

不過,我需要通過ID是一個選擇的記錄ID,我可以通過使用Ajax方法獲得:

var id = $('[name="RadioRequest"]:checked').prop('id'); 

的問題是,我可以由於id不是視圖級變量,因此不會將id傳遞給href。

問題是:什麼是在href裏面表達這個選定的(單選按鈕)ID的語法?我試圖$('[name="RadioRequest"]:checked').prop('id')複製並粘貼到HREF獲得:

<a href="/Samples/Create?id=$('[name="RadioRequest"]:checked').prop('id')" class="btn btn-primary btn">Add Sample/a>. 

它沒有工作。

回答

0

嘗試在SO圍繞「RadioRequest」

<a href="/Samples/Create?id=$('[name=\"RadioRequest\"]:checked').prop('id')" class="btn btn-primary btn">Add Sample/a> 
+0

謝謝,柯比。我嘗試了許多不同的組合。不工作。 – user3266771 2014-08-28 15:38:59

+0

@ user3266771 - 沒問題,我其實不確定href鏈接是如何創建的,所以這是一個快速的「嘗試」。這是創建適當的鏈接還是獲取無線電請求值(ID)的值的問題?我很樂意幫助更多。 – 2014-08-28 16:38:00

0

Im相當肯定這已經回答了好幾次逃脫雙引號,但只是lulz病提供一些答案。

首先,你將無法將javascript嵌入到href中。除非使用javascript來更改href屬性,否則它將保持靜態。

最簡單的事情就是將其封裝在一個表單中。它可能會或可能不會在語境中正確,但如果您將其包裝在表單中,它會自動提供您的表單域(包括所選單選按鈕的值)。

以下是將它提交爲一個形式,你將不得不作出將其應用到你的代碼。

<html> 
    <body> 
    <form name="form1" action="" method="get"> 
     <input type="radio" name="rad" value="1"/> <!--You will need to set value dynamically. 
     <input type="radio" name="rad" value="2"/> You could also change name="rad" to name="id" if you specifically need that to be the name --> 

     <a href="#" onclick="form1.submit()">Submit</a> 
    </form> 

</body> 

</html> 

基本上你只要給單選按鈕同名。提供的服務將是任何選擇(值可能是你的ID)的值。該行動屬性是你想要發送給它的URI,method =「get」確保它在查詢字符串中提供。Anchor標記沒有url,它只是在表單上執行提交。

如果你想嚴格使用JavaScript,你可以採取幾條路線。

其中之一,你可以有一個單選按鈕的onclick事件處理程序,當你選擇它時改變錨標籤的href屬性。

<html> 
    <body> 
    <script type="text/javascript"> 
     var url = "http://www.yahoo.com"; 

     function ChangeUrl(val){ 

     var newUrl = url + "?=" + val; 
     document.getElementById("myLink").href=newUrl; 
     } 
</script> 
    <input type="radio" name="rad" onclick="ChangeUrl(1)"/> <!-- onclick should be onselect, but I couldn't get that working in my test code so I went with what works. --> 
    <input type="radio" name="rad" onclick="ChangeUrl(2)"/> 

    <a href="#" id="myLink">Submit</a> 

</body> 

</html> 

再次,您需要考慮如何在代碼中執行此操作,但這是一個普遍的想法。

+0

嗨bsayegh,非常感謝您的幫助。我需要消化你的建議,看看它是否適合我。我確實使用了使用var id = $('[name =「RadioRequest」]:checked')的Ajax方法。prop('id'); url:「/ Samples/Create /」+ id;我認爲這太複雜了。如果我可以在href中動態獲取id,它會簡單得多。謝謝你的幫助。我不必嘗試這條路線。 – user3266771 2014-08-28 16:18:34