动态生成Jquery字段的ID?

时间:2011-11-24 06:55:20

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

我正在尝试在基于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 。上面的代码在我的日历字段类型上被称为nly。那么我该如何在这里生成<input Ids >及其各自的脚本。

2 个答案:

答案 0 :(得分:2)

您可以为他们提供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>

答案 1 :(得分:1)

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

 //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 { }