我有以下代码用于日历弹出窗口正常工作
<input type="text" value="12/01/2010" readonly="readonly" name="start_date_1" id="start_date_1" disabled="disabled"/>
<img src="/images/calendar_date_select/calendar.gif" onclick="new CalendarDateSelect( $(this).previous(), {popup:'force', year_range:10} );" class="calender_image" alt="Calendar"/>
但我想要的是我的日历弹出窗口最初会保持禁用状态,点击“编辑”按钮后它才会打开。我使用disabled="disabled"
但由于popup:'force'
所以我写下面的代码
<script type="text/javascript"
function disable_pop_up(){
if (edit==true)
new CalendarDateSelect( $(this).previous(), {popup:'force', year_range:10} );
else
return false;
}
</script>
<input type="text" value="12/01/2010" readonly="readonly" name="start_date_1" id="start_date_1" disabled="disabled"/>
<img src="/images/calendar_date_select/calendar.gif" onclick="disable_pop_up()" class="calender_image" alt="Calendar"/>
当然JavaScript失败了,所以我的问题是我应该在disable_pop_up()
写一下来完成它?
* 已编辑*
通过发送$(this)
作为参数来解决我的问题
function disable_pop_up(cal, id){
disable = document.getElementById(id).disabled
if (disable==true)
return false;
else
new CalendarDateSelect( cal.previous(), {popup:'force', year_range:10} );
}
onclick="disable_pop_up($(this), 'start_date_1'"
但我的问题仍然存在,为什么我不能在我的JavaScript函数中编写类似$("#start_date_1")
的内容?
答案 0 :(得分:0)
$(this)引用调用函数的HTML元素。
答案 1 :(得分:0)
$
是jQuery
函数的简写。这仅在您的页面中加载了jquery库时才有效。
答案 2 :(得分:0)
$(this).previous()
将引用输入,所以如果你想改变你的功能,试试
<script type="text/javascript" >
function disable_pop_up(){
if (edit==true)
new CalendarDateSelect( $("#start_date_1"), {popup:'force', year_range:10} );
else
return false;
}
</script>
P.S。 $ function是主要jQuery函数的简写