Onchange组合框事件在中不起作用
Onchange Combobox event not work in
显示Jquery UI的JDatePicker时出现问题。当组合框中有onchange事件时,我想显示不同的格式。这是我的代码,当第二个onchange事件触发时,它不起作用。
Javascript代码
$(document).ready(function() {
$("tr.golf_name").hide();
$("tr.location").hide();
$('input.type').click(function(event){
var selectVal = $(this).val();
if(selectVal == "tournament") {
$("tr.golf_name").show();
$("tr.location").show();
} else {
$("tr.golf_name").hide();
$("tr.location").hide();
}
});
$('#price_type').change(function(){
var selectedVal = $(this).val();
if(selectedVal != "none") {
$('#golf_name').attr("disabled", false);
$('#location').attr("disabled", false);
$('#startdate').attr("disabled", false);
$('#enddate').attr("disabled", false);
$('#start_time1').attr("disabled", false);
$('#start_time2').attr("disabled", false);
$('#end_time1').attr("disabled", false);
$('#end_time2').attr("disabled", false);
$('#details').attr("disabled", false);
$('#submit').attr("disabled", false);
if($("option:selected",this).text() == "weekday") {
// Holiday List
var unavailableDates = ["9-3-2012", "14-3-2012", "15-3-2012"];
// Exeptions if some Weekends are Working days
var enableDay = ["3-3-2012", "10-3-2012", "17-3-2012"];
// Weekend Days Sunday = 0 ... Sat =6
var weekend = [0, 6];
function nationalDays(date) {
// get date
dmy = date.getDate() + "-" + (date.getMonth() + 1) + "-" + date.getFullYear();
// if Holiday then block it
if ($.inArray(dmy, unavailableDates) > -1) {
return [false, "", "Unavailable"];
}
// if Exception then Enable it
if ($.inArray(dmy, enableDay) > -1) {
return [true, ""];
}
//if Weekend then block it
if ($.inArray(date.getDay(), weekend) > -1) {
return [false, "", "Unavailable"];
}
return [true, ""];
}
$(function() {
$("#startdate").datepicker({
dateFormat: 'dd MM yy',
beforeShowDay: nationalDays
});
});
} else {
var weekday = [1,2,3,4,5];
function weekDays(date) {
// get date
dmy = date.getDate() + "-" + (date.getMonth() + 1) + "-" + date.getFullYear();
//if Weekend then block it
if ($.inArray(date.getDay(), weekday) > -1) {
return [false, "", "Unavailable"];
}
return [true, ""];
}
$(function() {
$("#startdate").datepicker({
dateFormat: 'dd MM yy',
beforeShowDay: weekDays
});
});
}
} else {
$('#golf_name').attr("disabled", true);
$('#location').attr("disabled", true);
$('#startdate').attr("disabled", true);
$('#startdate').attr("disabled", true);
$('#enddate').attr("disabled", true);
$('#start_time1').attr("disabled", true);
$('#start_time2').attr("disabled", true);
$('#end_time1').attr("disabled", true);
$('#end_time2').attr("disabled", true);
$('#details').attr("disabled", true);
$('#submit').attr("disabled", true);
}
});
});
这是我的HTML代码
<tr height=22>
<td align=right>Select Price</td>
<td>:
<select name="price_type" id="price_type">
<option value="none">Select Price Type</option>
<option value="2">tournament</option>
<option value="3">weekday</option>
</select>
</td>
</tr>
<tr><td bgcolor=d9d9d9 width=800 height=1 colspan=2></td></tr>
<tr height=22>
<td align=right>Start Date</td>
<td>:
<input type="text" name="startdate" id="startdate" disabled /> (yyyy/mm/dd)
</td>
</tr>
<tr><td bgcolor=d9d9d9 width=800 height=1 colspan=2></td></tr>
你可以在这个Fiddle 中查看
如何处理?非常感谢。
您应该使用.prp()来设置禁用状态,而不是像那样使用.attr()
$('#startdate').prop("disabled", true);
阅读:道具与属性
演示:Fiddle
我认为这里的问题是var selectedVal=$(this).val();因为您的组合框是父项,所以您需要获取它的selectedItem。
相关文章:
- JsFiddle上的鼠标事件不起作用
- 在IE8中不起作用的元素上触发单击事件
- 链接上的IE10 jquery句柄单击事件不起作用
- Javascript点击事件回调不起作用
- jQuery加载完成事件不起作用
- 覆盖单击事件不起作用
- 鼠标事件在OpenLaszlo应用程序中不起作用
- 单击事件不起作用
- 插入后单击锚点标记上的事件after不起作用
- 为什么body元素上的onclick事件不起作用
- 追加Jquery后的Binding Click事件不起作用
- chrome中的onmouseover(下拉选项标记)事件不起作用-php,javascript
- 添加事件侦听器不起作用
- onclick事件在asp.net上不起作用
- jQuery调用keyup事件不起作用
- 单击事件在jquery easyui多选项卡中不起作用
- jQuery ContextMenu事件在IOS 8.2中不起作用
- 第二个事件[onClick]不起作用
- 按键事件上的简单HTML输入不起作用
- Keyup事件在easyui上不起作用