2014-08-28 70 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