【问题标题】:Activate input text box onchange select box激活输入文本框 onchange 选择框
【发布时间】:2014-02-11 21:06:19
【问题描述】:

无法完成这项工作。我希望文本框输入 First_name2 仅在选择框中选择“家庭”时出现。无论我把 jquery 代码放在哪里,它都不起作用。这是因为表格嵌入在 2 个表格中吗?

小提琴: http://jsfiddle.net/pLqxj/

$('#membership').change(function () {
    $('#first_name2').css('display', ($(this).val() == 'Household') ? 'block' : 'none');
});

谢谢!

【问题讨论】:

  • 我在你的小提琴中取消了 #first_name2 元素周围的 HTML 注释,看起来 jQuery 正在按预期工作(选择家庭时显示 #first_name2,未选择家庭时隐藏)。这是在 Chrome 32.0.1700.107 m 上。
  • 在你的小提琴中,#first_name2 元素被注释掉了。

标签: jquery input onchange


【解决方案1】:

我认为这会奏效:

$('#membership').change(function () {
    if ($('#membership :selected').attr("value")=="Household") {
        $("#first_name2row").show();
    } else {
        $("#first_name2row").hide();
    }
});

我为包含配偶名字的 <TR> 引入了一个新 ID,因为这是您想要隐藏的内容。或者,为了避免使用新 ID,您也可以使用它,但可读性较低:

$("#first_name2").parent().parent().show()

$("#first_name2").parent().parent().hide()

Fiddle

【讨论】:

  • 我并不是要将该行注释掉。它在 jsfiddle 中工作,但不在我的页面上。您在哪里有脚本代码以便它可以工作?使用表格时是否存在范围问题?谢谢!
  • 原则上,将表单分布在表格中应该不是问题。但是,如果它可以在小提琴中使用,无论是使用您的代码还是我的代码(请参阅我的小提琴从您的代码中提取),那么它应该可以在您的页面中使用,除非有更大的问题。控制台在说什么?
  • $ 未定义 $('#membership').change(function () {
  • 我相信你包含了 jQuery 库:<script src="//code.jquery.com/jquery-1.10.1.js" type="text/javascript"></script>,并且你已经像这样封装了 jQuery 代码:<script type="text/javascript">$(window).load(function(){ 你的代码放在这里 }</script>跨度>
  • 我认为这就是问题所在。我最初使用 javascript 代码来尝试使其工作,但后来切换到 jquery 但忘记将其链接到库。我敢打赌,如果我这样做,它会起作用。
猜你喜欢
  • 2013-06-28
  • 1970-01-01
  • 2013-04-24
  • 2011-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-18
相关资源
最近更新 更多