【问题标题】:Dynamically Generate Ids for jQuery Fields?为 jQuery 字段动态生成 ID?
【发布时间】:2011-11-24 06:55:19
【问题描述】:

我正在尝试在基于 python 的应用程序中集成日历视图。我几乎完成了它。现在我只有一个为日历字段生成 ID 的问题。例如,如果我有一个日历字段,那么该字段适用于以下代码,但是如果我在一种形式中有 2 个或更多日历字段,我将如何为它们生成 Id。是否需要为每个字段编写单独的脚本。这是我申请单个字段的代码示例。

<script type="text/javascript"> 
        $(function() {
            $('#popupDatepicker').calendarsPicker({calendar: $.calendars.instance('islamic'), dateFormat: 'dd-mm-yyyy'});

        });
</script>

我的网络应用程序代码在这里:-

 <input type="text" **id="popupDatepicker"** name="${name}" autocomplete="OFF" size="3"
class="${css_class}" ${py.attrs(attrs, kind=kind, value=value)}/>

现在我想动态生成 id。上面的代码仅在我的日历类型字段上调用。那么我应该如何在这里生成&lt;input Ids &gt; 及其各自的脚本。

【问题讨论】:

  • 你有什么理由不能为所有日历分配一个班级,然后打电话给$('.calendar').calendarsPicker(...)

标签: javascript jquery jquery-ui jquery-events mako


【解决方案1】:

您可以改为给他们一个 class popupDatepicker,然后将您的 jQuery 更改为使用 .popupDatepicker 而不是 #popupDatepicker

所以用以下内容替换您的 HTML:

<input type="text" class="popupDatepicker" name="${name}" autocomplete="OFF" size="3" class="${css_class}" ${py.attrs(attrs, kind=kind, value=value)}/>

你的 jQuery 和这段代码:

<script type="text/javascript"> 
    $(function() {
        $('.popupDatepicker').calendarsPicker({calendar: $.calendars.instance('islamic'), dateFormat: 'dd-mm-yyyy'});

    });
</script>

【讨论】:

    【解决方案2】:

    为什么不只为那些你想要日历的字段创建一个类,然后将你的选择器编辑为:

     //get the element with popupDatepickerClass class and makeit a calendarsPicker()
     $('.popupDatepickerClass').calendarsPicker(SOME TXTS);
    

    注意你的“#”是如何变成“.”的

    你的元素看起来像:

     //add the popupDatepickerClass on every element you want to be converted as calendar
     class="${css_class} popupDatepickerClass" 
    

    这样,您的脚本将查找具有相同类的所有元素并将其设为日历。

     //create a css class with name: popupDatepickerClass and its not necessarily to have a value
     .popupDatepickerClass { }
    

    【讨论】:

    • 我不太喜欢 css 和 Javascript。可以用上面的代码解释一下吗
    • 我添加了一些 cmets 让您了解代码中的内容。它已经可读了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-21
    • 2015-05-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多