JQuery的值不会改变
JQuery Values are not changing
@Html.ActionLink("Search", "GetDateWiseGuestReport", "Reports", new { StartDate = "sss",EndDate="eee" }, new { @id = "btnDateWiseGuestSearch", @class = "btn btn-red" })
$("#btnDateWiseGuestSearch").bind('click', function () {
//Get the id of the selected item in dropdown
var EndDate = $("#txtDateWiseGuestEndDate").val();
var StartDate = $("#txtDateWiseGuestStartDate").val();
this.href = this.href.replace("sss", StartDate);
this.href = this.href.replace("eee", EndDate);
});
好的,我使用上面的代码在运行时更改操作链接URL。一切都很顺利。但是我有一个奇怪的问题,即当我第一次点击按钮时,它从文本框中获取值并相应地改变,但是当我再次按下按钮时,它不会从文本框中获得新值,而不是以某种方式使用我第一次输入的旧值!
因为在第一次点击之后,您将从href中替换sss
和eee
,因此在href中没有sss
或eee
。所以在第一次点击
所以一个可能的解决方案是将原始的href值存储在其他地方,然后使用它来替换内容。在下面的解决方案中,data api用于存储原始值
var $btn = $("#btnDateWiseGuestSearch");
$btn.data('href', $btn.attr('href'))
$btn.bind('click', function () {
//Get the id of the selected item in dropdown
var EndDate = $("#txtDateWiseGuestEndDate").val();
var StartDate = $("#txtDateWiseGuestStartDate").val();
var href = $(this).data('href');
this.href = href.replace("sss", StartDate).replace("eee", EndDate);
});
基本上在你的jQuery代码中你通过替换sss
和eee
来创建一个新的链接但是一旦你替换了它们,你就不会再找到它们了
this.href = this.href.replace("sss", StartDate); // sss no longer exists after this
this.href = this.href.replace("eee", EndDate); // sss no longer exists after this
你需要做的是在你修改它之前存储原始的href值,然后当你想更新链接
时引用它$("#btnDateWiseGuestSearch").bind('click', function () {
var $this = $(this);
var originalhref = $this.data("href");
if(!originalhref){
this.data("href", this.href);
}
var EndDate = $("#txtDateWiseGuestEndDate").val();
var StartDate = $("#txtDateWiseGuestStartDate").val();
this.href = originalhref.replace("sss", StartDate).replace("eee", EndDate);
});
相关文章:
- 背景没有改变 - Jquery/Javascript/CSS
- 两个文本框同时改变[JQuery]
- 改变Jquery中事件的顺序
- 如何动态改变jquery日期选择器样式
- 丢失JSON数据时,改变JQuery从append()到html(),为什么以及如何我停止这个(Songkick API
- 根据选择选项改变jQuery UI滑块值
- 改变jQuery倒计时
- 改变Jquery滑块来执行一个功能
- 如何动态改变jQuery数据表的高度
- 改变jQuery旋钮的最小/最大值
- 如何在不调用函数的情况下改变jQuery的执行上下文
- 当达到某个值时,多次改变jQuery滑动条的颜色
- 输入值不会改变-Jquery
- 是否有一种方法来改变Jquery插件选项与点击一个按钮
- 动态改变jquery对话框的标题,不从下拉菜单中获取缓存数据
- 如何获得第二个组合框值后,第一个改变(jquery)
- 如何改变jquery数据表列的颜色
- 如何改变Jquery日期picker日期格式
- 改变Jquery Ui切换面板图标
- 当使用变量引用数组的索引时,不能改变Jquery中的css