您可以使用 jQuery以 ^=
选择器开头。
$(document).ready(function() {
$("[id^=id_event_type]").click(function(){
$("#id_end_date").show();
$('label[for="id_end_date"]').show();
});
}); //END $(document).ready()
以选择器开头的工作方式如下:$([attribute ^= string])
,允许您指定以id
或class
或或name
或以??
指定字符串开头的所有元素。
当使用以 开头时,您还可以像这样拆分出点击元素的特定属性字符串:
jsFiddle在这里
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/jquery-ui.min.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.1/themes/base/jquery-ui.css" />
<style>
div {height:100px; width:100px; margin:20px;}
</style>
<script type="text/javascript">
$(document).ready(function() {
$("[id^=id_event_type]").click(function(){
var myid = $(this).attr('id');
var num = myid.split('_')[3];
alert('You clicked on: ' +myid+ ', which is number ' +num);
$("#id_end_date").show();
$('label[for="id_end_date"]').show();
});
}); //END $(document).ready()
</script>
</head>
<body>
<div id="id_event_type_1" style="background-color:red"></div>
<div id="id_event_type_2" style="background-color:blue"></div>
<div id="id_event_type_3" style="background-color:green"></div>
</body>
</html>
最后一点。您不需要将每个例程都包含在其自己的 (document).ready() 函数中。您只需要一个,然后可以在其中列出每个例程,一个接一个。
$(document).ready(function() {
$("#id_event_type_1").click(function(){
$("#id_end_date").show();
$('label[for="id_end_date"]').show();
});
$("#id_event_type_2").click(function(){
$("#id_end_date").show();
$('label[for="id_end_date"]').show();
});
$("#id_event_type_3").click(function(){
$("#id_end_date").show();
$('label[for="id_end_date"]').show();
});
}); //END document.ready()