我有以下代码:
$("#solDate").change(function () {
if ($(this).val().trim() == '') {
$("#solvedBy").val('Pick an option');
}
else {
$("#solvedBy").val('Please, pick the issue solver');
}
});
$("#solvedBy").change(function () {
if ($(this).val() == 'Please, pick the issue solver') {
//if (document.getElementById("solvedBy").valueOf == 'Please, pick the issue solver') {
$("#saveBtn").attr('disabled', true);
$("#slvByValMsg").text('You have solution date and no solver');
}
else {
$("#saveBtn").attr('disabled', false);
$("#slvByValMsg").text('');;
}
});
solDate
是日期文本框,而solvedBy
是一个下拉菜单。这两个脚本都可以很好地工作,但是当我尝试用第一个脚本触发第二个脚本时,它会中断。
简而言之,顺序是:当人们选择解决方案日期时,在下拉菜单中选择文本'请选择问题解决方案'出现。发生这种情况时,按钮应该被禁用,并且应该出现错误消息,直到此人选择解算器。
当我将solveBy设置为'请选择问题解决者'时,该命令有效。当我设置日期时,solveBy的值会更改,但第二个脚本不会执行(我认为它不会将其识别为更改)。注释行也没有帮助。
答案 0 :(得分:1)
您的代码应该像
$("#solDate").change(function () {
if ($(this).val().trim() == '') {
$("#solvedBy").val('Pick an option');
}
else {
$("#solvedBy").val('Please, pick the issue solver');
}
//do change event of solvedBy here will solve issue
$("#solvedBy").change();
});
$("#solvedBy").change(function () {
if ($(this).val() == 'Please, pick the issue solver') {
//if (document.getElementById("solvedBy").valueOf == 'Please, pick the issue solver') {
$("#saveBtn").attr('disabled', true);
$("#slvByValMsg").text('You have solution date and no solver');
}
else {
$("#saveBtn").attr('disabled', false);
$("#slvByValMsg").text('');;
}
});
答案 1 :(得分:1)