javascript - 显示/隐藏表单元素的问题

标签 javascript jquery html

我有一个通过使用表单元素来更新用户位置的网站。

用户做的第一件事是点击标记为 checkin 的按钮。这会更新数据库(通过使用 AJAX 在另一个页面上的 php)。点击登记后,用户会看到一个带有位置列表的选择/下拉菜单。用户单击选择中的一个位置,然后 php 页面再次更新为该位置。用户可以多次执行此操作,每次都更新数据库。当用户完成后,他向下滚动选择/下拉菜单到最后一个名为 checkout 的选项。当用户点击结帐时,数据库会再次更新,并且出现红色文本而不是选择“已结帐”。

这是我的代码(减去 php/数据库的东西):

<script src="http://code.jquery.com/jquery-1.8.2.js"></script>

<script type="text/javascript">

$(document).ready(function() {
  // Hide the form on load      
  $('.locationSelect').hide();
  // Hide the completed message
  $('.finished').hide();
});

// When someone clicks checkin this function will be called
$('.checkIn').click(function(){
$e = $(this);
 $.ajax({
    type: "POST",
    url: "changeloc.php", // this page adds date to the database
    data: "checkIn="+$(this).val(), // we are sending $_POST['checkIn']
    success: function(){
       // Display the form once AJAX is finished 
       $('#myForm').show();
    }
 });
});

// This function will be called when someone uses the select field
$('.[locationSelect]').change(function(){
  $e = $(this);
  $.ajax({
    type: "POST",
    url: "changeloc.php",
    data: "locationSelect="+$(this).val(),
    success: function(){
       // Display the form once the AJAX is finished 
       alert('Done');
    }
  });
});


</script>

这是 html:

<button class="checkIn">Check In</button>

<form method='post' class='myForm' action=''>

<td>
<select name='locationSelect' class='locationSelect'>
    <option value='1'>Exam Room 1</option>
    <option value='2'>Exam Room 2</option>
    <option value='3'>Exam Room 3</option>
    <option value='4'>Exam Room 4</option>
    <option value='Check Out'>CheckOut</option>
</select>
</form>


<div class='finished' style='color:#ff0000;'>Checked Out</div>

问题是当您点击 checkin 时,选择不会显示。我检查了 Chrome 错误控制台,但没有出现任何错误。

感谢大家的帮助!

最佳答案

好吧,这里:

// Display the form once AJAX is finished 
$('#myForm').show();

应该是这样的:

// Display the form once AJAX is finished 
$('.myForm').show();

除此之外,验证您的 Ajax 查询是否正确返回,否则此代码将不会运行。

关于javascript - 显示/隐藏表单元素的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13021925/

相关文章:

javascript - 为 HTML 元素实现鼠标悬停背景颜色更改的最简单方法是什么?

javascript - PhoneGap 文件传输在上传到服务器时损坏 .mp3

javascript - jQuery 缩放 div 到父级

javascript - d3.json() 支持身份验证吗?如果没有,还有哪些其他 JavaScript 选项可用于 JSON 检索?

php - 如何检查文本框中的名称是否已作为本地主机服务器(PHP)中的文件夹存在而不使用mysql

html - 如何将我的按钮放在图像下方并在窗口大小发生变化时使其保持固定?

javascript - 当尝试禁用 anchor 链接的 onbeforeunload 时,在 mouseclick 之前调用 mouseleave

javascript - 控制台中 setGlobal 错误的无效路径如何调试

javascript - 我的无限滚动用 Safari 附加两次并复制

jquery - 多个定位对齐的类被拉到一个 div 而不是它们各自的 div