Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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 ui jquery多个ID相同的函数_Jquery Ui_Jquery - Fatal编程技术网

Jquery ui jquery多个ID相同的函数

Jquery ui jquery多个ID相同的函数,jquery-ui,jquery,Jquery Ui,Jquery,我有一个有日期输入的表 <td style="background-color:#c6efce"><input type="text" id="datepicker0"></td> <td style="background-color:#c6efce"><input type="text" id="datepicker1"></td> <td style="background-color:#c6efce">&

我有一个有日期输入的表

<td style="background-color:#c6efce"><input type="text" id="datepicker0"></td>
<td style="background-color:#c6efce"><input type="text" id="datepicker1"></td>
<td style="background-color:#c6efce"><input type="text" id="datepicker2"></td>
<td style="background-color:#c6efce"><input type="text" id="datepicker3"></td>
<td style="background-color:#c6efce"><input type="text" id="datepicker4"></td>

我正在尝试第一次通过访问它

<script>
    $(function() {
        $( "#datepicker0" ).datepicker({
            showButtonPanel: true
        });
    });
    </script>

$(函数(){
$(“#日期选择器0”)。日期选择器({
showButtonPanel:对
});
});
如何访问所有内容?

您可以使用“”选择器:

$(function() {
    $("input[id^='datepicker']").datepicker({
        showButtonPanel: true
    });
});
该选择器将匹配其
id
值以“datepicker”开头的任何
input
元素。另一种方法是为所有必需的元素提供一个公共类

您还可以使用逗号分隔的列表通过
id
选择多个元素:

$("#datepicker0, #datepicker1, #datepicker2"); //List as many as necessary

但是,如果您需要添加更多的输入,那么这并不是特别可扩展的。

最好的方法是使用类:

<td style="background-color:#c6efce"><input type="text" class="dp" id="datepicker0"></td>
<td style="background-color:#c6efce"><input type="text" class="dp" id="datepicker1"></td>
<td style="background-color:#c6efce"><input type="text" class="dp" id="datepicker2"></td>
<td style="background-color:#c6efce"><input type="text" class="dp" id="datepicker3"></td>
<td style="background-color:#c6efce"><input type="text" class="dp" id="datepicker4"></td>
<script>
    $(function() {
        $( ".dp" ).each(function(){
            $(this).datepicker({
                showButtonPanel: true
            });
        })
    });
</script>

$(函数(){
$(“.dp”)。每个(函数(){
$(此).datepicker({
showButtonPanel:对
});
})
});
但你也可以用这个:

<td style="background-color:#c6efce"><input type="text" id="datepicker0"></td>
<td style="background-color:#c6efce"><input type="text" id="datepicker1"></td>
<td style="background-color:#c6efce"><input type="text" id="datepicker2"></td>
<td style="background-color:#c6efce"><input type="text" id="datepicker3"></td>
<td style="background-color:#c6efce"><input type="text" id="datepicker4"></td>

<script>
    $(function() {
        $( "#datepicker0,#datepicker1,#datepicker2,#datepicker3,#datepicker4" ).datepicker({
            showButtonPanel: true
        });
    });
</script>

$(函数(){
$(“#日期选择器0,#日期选择器1,#日期选择器2,#日期选择器3,#日期选择器4”)。日期选择器({
showButtonPanel:对
});
});

不建议使用第二种方法。

而不是ID,您应该使用一个名为has datepicker的CSS类来搜索它

我理解您的问题,您试图使用jQuery选择多个ID。以下是您如何做到这一点:

$('#1,#2,#3')
您只需用逗号分隔ID

但是,这并不是实现这一目标的最佳方式。您应该真正使用一个类:为每个
td
分配一个类并使用:

$('td.myClass')
或者,您可以为该表分配一个ID,并选择其所有
td
子项。HTML:

<table id="myTable">
    <td>text</td>
    <td>text</td>
</table>

jQueryUI自动将“hasDatePicker”类添加到具有日期选择器的所有元素中。您可以在页面中查询$(“input.hasDatePicker”)之类的内容,以获取所有日期选择器。

您也可以使用此选项
$(“#datepicker0,#datepicker1,#datepicker2,#datepicker3,#datepicker4)

datepicker0,#datepicker1,#datepicker1,#datepicker2,#datepicker3,#datepicker4>应用于元素之前(就像在本例中一样…)啊,我读错了原始问题,认为原始问题是关于访问它们,而不是创建它们,但我猜OP确实提供了一个代码片段,他在其中展示了他正在创建一个……为什么在第一个示例中使用each函数,而不是像第二个示例那样调用节点列表上的datepicker?@mikerobi lol good point XD也许您可以提交这样的答案?谢谢@JosephMarikle
$('table#myTable td')