views:

360

answers:

1

Hi, I've got this code:

<html>
<head>
  <link type="text/css" href="css/blitzer/jquery-ui-1.7.2.custom.css" rel="stylesheet" />   
  <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
  <script type="text/javascript" src="js/jquery-ui-1.7.2.custom.min.js"></script>
  <script type="text/javascript">
$(function() {
  $('.hasDatepicker').datepicker();
});
</script>
</head>
<body>
<p>date: <input type="text" name="data" class="hasDatepicker" /></p>
<input type="submit" value="send" />
</div>
</body>
</html>

When I click the input field, nothing happens. The datepicker is initialized though, when I inspect the DOM in Firebug, I get the id="dp1260260566059" added to my <input> element.

After changing the html and js to use id attribute instead of class, so having this in my code:

$(function() {
  $('#hasDatepicker').datepicker();
});

and

<p>date: <input type="text" name="data" id="hasDatepicker" /></p>

Everything works OK.

Can't datepicker from JQuery UI work for all elements of some class?

+2  A: 

Please check if the datepicker works if you change the class name of the input fields from 'hasDatePicker' to something else. The reason is, when add the datepicker to the input field using the below code:

$(function() {
  $('#date').datepicker();
});

it adds the class name "hasDatePicker" to the input field. (which is the one u r using)

Shree
Wow. Thanks a lot. This is annoying, to cause name collision this way and not be able to figure out what's wrong :)
kender