Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 基于字段值动态生成超链接的查询字符串_Jquery_Asp.net Mvc_Asp.net Mvc 3 - Fatal编程技术网

Jquery 基于字段值动态生成超链接的查询字符串

Jquery 基于字段值动态生成超链接的查询字符串,jquery,asp.net-mvc,asp.net-mvc-3,Jquery,Asp.net Mvc,Asp.net Mvc 3,我有一个ASP.NETMVC搜索页面。这是一个相当标准的列表,但有几个下拉列表可以过滤结果。这些下拉列表和搜索文本输入标记包装在一个表单标记中 我还有一个“添加新[实体]”超链接。超链接将转到“创建”视图 问题是,搜索表单中的下拉列表还指示Create视图中某些字段的值。所以我需要将它们的值传递给Create表单 最简单的方法(据我所知)是在addnewhyperlink的查询字符串中传递相关值 我可以通过每次更改下拉列表时更改链接的HREF值来实现这一点。但这涉及到几个事件处理程序,并且一些下

我有一个ASP.NETMVC搜索页面。这是一个相当标准的列表,但有几个下拉列表可以过滤结果。这些下拉列表和搜索文本输入标记包装在一个表单标记中

我还有一个“添加新[实体]”超链接。超链接将转到“创建”视图

问题是,搜索表单中的下拉列表还指示Create视图中某些字段的值。所以我需要将它们的值传递给Create表单

最简单的方法(据我所知)是在addnewhyperlink的查询字符串中传递相关值

我可以通过每次更改下拉列表时更改链接的HREF值来实现这一点。但这涉及到几个事件处理程序,并且一些下拉列表已经有其他事件处理程序与它们绑定。(两个下拉列表之间存在依赖关系,只是为了让事情变得更复杂。)

我想做的是在点击超链接和实际执行超链接之间更改查询字符串-收集下拉列表的当前值并进行更改。或者模仿这种情况


这可能吗?这是一个好主意,还是我应该坚持使用多个事件处理程序来更改HREF?

为什么不在链接中添加一个事件处理程序并构造链接,然后执行它

$("a").click(function(event) {
  event.preventDefault();

  var url = "www.whatever.com/";

  var addedVars = "?firstVar=" + $('#dropdown1').val() + "&secondVar=" + $('#dropdown2').val();

  window.location = url + addedVars;
});
如果您可以将“addnew”作为一个按钮,那么您可以使用一个带有两个独立提交按钮的表单,每个按钮调用不同的操作

这项技术将在本博客中介绍

比如:

@using (Html.BeginForm("Action", "Post")) {

  <input type="submit" name="Search" value="Search" />
  <input type="submit" name="AddNew" value="Add New" />
}
@使用(Html.BeginForm(“操作”、“发布”)){
}

您的“添加新”链接是否需要是超链接?你能把它做成一个按钮吗?@Corneliu我想我可以,但是我们在其他表单中都使用了超链接。如果你需要的话,你可以将按钮设计成超链接的样式谢谢!我想知道这样的事情是否可能发生,但我认为这可能很复杂。(比在jQuery中执行更复杂?也许吧!)这正是我想到的!非常感谢。谢谢你的代码!