【问题标题】:jQuery User Control Mess - HELP!jQuery 用户控制混乱 - 帮助!
【发布时间】:2010-11-30 05:27:28
【问题描述】:

我有一个创建 jQuery DatePicker 的用户控件(UI 中的标准控件)。这个用户控件被我的页面调用了两次(日期从/到),所以我的输入/控件/按钮/what-not 有动态 ID。我需要以某种方式设置隐藏输入或使用网络方法以某种方式在用户控件上设置变量,以便搜索功能可以检索日期。

这有意义吗?

谢谢, 基思

【问题讨论】:

  • 看一些相关的页面逻辑可能会更容易理解
  • 你想做什么?听起来可能是这样的:1)单击搜索 2)获取日期值 3)进行网络服务调用以搜索该日期值

标签: jquery vb.net ajax json datepicker


【解决方案1】:

对您的问题进行更多澄清可能会有所帮助。

但是,当您将 ASP.NET 和 jQuery 结合在一起时,ASP.NET 对创建复杂 ClientID 参数的嗜好肯定会引起它的丑陋。

我发现在用户控件中有一个具有特定类名的 div 或 span 很有用,然后从那时起就有可预测的标记。

例如:

<span class="DatePickerUserControl">
    <div>...date controls</div>
    <input type="hidden" class="DatePickerHidden" ... />
</span>

然后在你的 jQuery 中:

$(".DatePickerUserControl").each(function(e) {
    $("input.DatePickerHidden", this).each(function(e) {
        // Here "this" refers to the hidden field for the particular date picker
    });
});

【讨论】:

  • 这正是我使用这个的地方......除了......我必须在我的代码隐藏中获取值,所以我只是在表单中添加了一个 asp:TextBox 并将其隐藏.并且使用 jQuery,我成功地设置了带有所选日期的文本框的值。但是,现在我无法在我的代码隐藏中获得该值。有什么建议?提前致谢...基思
  • 我会推荐 System.Web.UI.WebControls.HiddenField 这将呈现一个 不知道为什么你不能得到值,也许尝试隐藏字段和它会解决的。否则,也许您的 ViewState 和页面生命周期存在问题 - 表单数据被处理,然后一些代码使用默认值重新初始化文本框?有很多事情会导致这种古怪的行为。
  • 我就是这么做的。我使用了 HiddenField,它工作得很好。问题是我不知道输入的 ID 是什么,因为这些是动态添加的。因此,我在添加它们时给了它们一个唯一的 css 类,并在我的脚本中使用相同的 css 类来选择页面上的那个元素,我现在得到了这个值。
猜你喜欢
  • 1970-01-01
  • 2016-06-30
  • 1970-01-01
  • 2020-08-22
  • 2018-04-13
  • 1970-01-01
  • 2010-11-08
  • 2019-11-12
  • 1970-01-01
相关资源
最近更新 更多