如何在不在表单中键入的情况下显示消息
我只想在下拉按钮中选择房间和时间后显示消息。 我选择所有这些,它将以这样的forms出现:
$(document).ready(function(){ $('#rooms, #time').bind('input', function() { $('#time_room').val($('#rooms').val() + ' ' + $('#time').val() ); }); });
SELECT cas 104 cas 105 SELECT 7:00 - 8:00 am 8:00 - 9:00 am
上面的代码在index.php里面,然后当我把这段代码放在里面时:
$("#feedback").load("check.php").hide(); $("#time_room").on('input', function(){ $.post("check.php", { time_room: form.time_room.value }, function(result){ $("#feedback").html(result).show(); }); });
并在check.php内部
0){ echo "Already taken"; }?>
此代码有效,但最终,除非我尝试插入或编辑表单,否则不会显示该消息。
这是我完成选择所有房间和时间的时间:
当我输入表格时。
#time_room
的’input’事件仅在手动输入时触发,而不是在javascript / jQuery设置其值时触发。
将事件处理程序附加到#time_room
似乎没有意义,因为它的值将(或应该)仅在#rooms
和#time
被更改时#time
发生变化。
当#rooms
或#time
改变时,你需要调用$.post(...)
。
$(document).ready(function() { $('#rooms, #time').on('change', function() { var time_room_value = $('#rooms').val() + ' ' + $('#time').val(); $('#time_room').val(time_room_value); $.post('check.php', { 'time_room': time_room_value }, function(result) { $("#feedback").html(result).show(); }); }); // $("#feedback").load('check.php').hide(); // no point loading a message that will not be seen? $("#feedback").hide(); });
注意,我将input
更改为更常见的change
事件。