我有一个使用 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/