我有一个 MultiDatesPicker 控件,用户可以在其中选择一些日期。 当用户选择其中一些日期时,文本区域对象会自动填充日期。一切正常。 我现在喜欢做的是,检查该文本区域的长度,以便当长度 > 60 时将其宽度更改为 200px,当 <=60 时宽度将为 90。 我已完成以下操作:
<script type="text/javascript">
$(document).ready(function () {
$.datepicker.setDefaults($.datepicker.regional['el']);
$('#cPublDates').multiDatesPicker({
altField: '#tbPublishDates'
});
$(function () {
$('#tbPublishDates').change(function () {
alert('changed');
if ($(this).val().length > 60) {
$(this).width(200);
} else {
$(this).width(90);
}
});
});
});
</script>
对象是
<div class="pulicationBox">
<span id="cPublDates"></span>
<asp:TextBox ID="tbPublishDates" runat="server" ClientIDMode="Static" TextMode="MultiLine" Rows="5" Width="90px" />
</div>
但是没有工作,因为change()事件没有被触发。 #tbPublishDates 是文本区域的 ID。 由于我是 jQuery 的新手,因此欢迎任何想法或代码更正。
谢谢
最佳答案
现在尝试动态绑定(bind)到文本框...
还要确保您已包含 jQuery 库版本 1.7 或更高版本
<script type="text/javascript">
$(document).ready(function () {
$.datepicker.setDefaults($.datepicker.regional['el']);
$('#cPublDates').multiDatesPicker({
altField: '#tbPublishDates'
});
$('#tbPublishDates').on('change', function () {
alert('changed');
if ($(this).val().length > 60) {
$(this).width(200);
} else {
$(this).width(90);
}
});
});
关于jquery - 检查 jQuery 中自动填充的文本区域的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12313031/