javascript - 显示内联抛出错误

标签 javascript jquery css

我有一个使用 display = none 隐藏的文本框。我试图在某些情况下将其更改为可见,但它似乎不起作用。我已经检查过控件是否会转到更改事件。我尝试了各种方法让它工作,我尝试过的 3 种方法都在 $('body')

colValue = "<input id ='val' class='value' value ='" + field.Value + "'style = 'display: none'/>"; 

我已经尝试了这些不同的东西来让它显示控件。这些都不起作用。

    $('#val').css("display", "block");
    $('#val').css('display', 'inline');
    $('#val').css({ "display": "inline" });

我错过了什么吗?

最佳答案

编辑
因此,您的问题似乎是该框在更改事件后没有出现。确保您的 HTML ID 是唯一的,并且您的更改处理程序在 DOM 准备就绪后被连接起来。如果这些都是真的,问题可能存在于您显示的代码片段之外,因为您提供的代码应该可以工作。需要注意的一件事是 change 事件在被更改的控件失去焦点之前不会被触发。如果它是另一个文本框,则必须在触发事件之前单击文本框外的内容。请参见下面的示例(注意:我正在使用 show 来更新元素的可见性,因为它更符合惯用语,但它在功能上应该与您尝试的相同。)

$(function() {
    $('body').on('change', '.condition', function () {    
        $('#val').show();
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

Text Box 1 <input id ='val' class='value' value='test' style='display: none' type='text'/> <br />
Text Box 2 <input class='condition' type='text'/>


您的应用程序中没有名为 inline 的变量。将其用引号引起来并使其成为一个字符串。此外,您正在尝试更改样式,因此您必须调用适当的方法(请参阅 css 方法的文档):

$("#val").css("display", "inline");

关于javascript - 显示内联抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39900634/

相关文章:

javascript - 谷歌地图没有出现

javascript - 使用 jQuery 选择所有复选框

javascript - 带字符边框的数字输入

javascript - css 或 javascript 中的简单飞行文本?

jquery - css不同大小的盒子相互对齐

html - 如何将容器放置在标题顶部

javascript - Jgrid 单击按钮保存单元格

javascript - 如何统计其父元素第一行的元素个数

javascript - 使用jquery匹配无效的html标签

jquery - 使用 jQuery 在我的表单中选择一个选项时尝试显示一个字段,但它不起作用。我究竟做错了什么?