【问题标题】:Show a hidden div when option selected选择选项时显示隐藏的 div
【发布时间】:2013-01-14 22:47:24
【问题描述】:

我终其一生都无法弄清楚我错过了什么。

this jsFiddle 中,我在 dom 上隐藏了一个带有两个文本框的 div。我想在下拉列表中选择特定选项时显示 div。

这是被隐藏/显示的 div:

<div id="movieAddNewDirector">
  <label id="lblMovieAddDirector">Add a New Director:</label>
  <br />
  <label for="txtMovieAddNewDirectorFirstName">First Name:</label>
  <input type="text" name="txtMovieAddNewDirectorFirstName" id="txtMovieAddNewDirectorFirstName" size="20" />
  <br />
  <label for="txtMovieAddNewDirectorLastName">Last Name:</label>
  <input type="text" name="txtMovieAddNewDirectorLastName" id="txtMovieAddNewDirectorLastName" size="20" />
</div>

这里是相关的 jQuery 代码

$('#ddlMovieAddDirector').change(function () {    
    var id = $(this).find('option:selected').attr('id');

    alert('id: ' + id);

    if (id == '#optMovieAddDirectorNew') {
      alert('attempting to show new director div');
      $('#movieAddNewDirector').show();
    } else {
      alert('id didn\'t match - id: ' + id);
      $('#movieAddNewDirector').hide();
    }
});

“id 不匹配”始终显示,即使选择第二个选项时,显示检测到的 id 的第一个警报显示应该显示 div 的正确 id!

我知道我在 jQuery 中有正确的 ID,但我不明白为什么这不起作用。对于显示/隐藏 div 的单选按钮选择,我有一些非常相似的工作。

任何帮助将不胜感激!

【问题讨论】:

    标签: jquery show-hide


    【解决方案1】:

    更改if (id == '#optMovieAddDirectorNew') {

    对此:if (id == 'optMovieAddDirectorNew') {

    “#”符号不是id的一部分,它只用于在选择器中查找id

    和 JSfiddle http://jsfiddle.net/BG4Dg/1/

    【讨论】:

    • 我只是注意到了这一点,只是错过了能够删除我的问题!少校一记耳光!尽管如此,还是感谢您的快速响应!
    猜你喜欢
    • 2013-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-07
    • 2016-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多