Javascript 语义UI弹出窗口-在初始化之前更改HTML
我正在使用语义用户界面,有一个弹出窗口,其中有一个输入字段(搜索字段)。弹出窗口是在“on:‘click’”时初始化/打开的,但是我想在用户打开弹出窗口之前用javascript为输入字段设置一个值 试图这样做Javascript 语义UI弹出窗口-在初始化之前更改HTML,javascript,popup,semantic-ui,Javascript,Popup,Semantic Ui,我正在使用语义用户界面,有一个弹出窗口,其中有一个输入字段(搜索字段)。弹出窗口是在“on:‘click’”时初始化/打开的,但是我想在用户打开弹出窗口之前用javascript为输入字段设置一个值 试图这样做 document.getElementById("sok_tekst").value = input; 只会导致 未捕获的TypeError:无法将属性“值”设置为null 当我在控制台中查看时,我看到HTML代码包含带有输入字段(id=“sok_tekst”)的弹出窗口,但在初始化之
document.getElementById("sok_tekst").value = input;
只会导致
未捕获的TypeError:无法将属性“值”设置为null
当我在控制台中查看时,我看到HTML代码包含带有输入字段(id=“sok_tekst”)的弹出窗口,但在初始化之前,我似乎无法使用javascript访问它
我觉得我已经尝试了所有的方法,看起来我需要在向输入字段添加值之前打开弹出窗口
这是一个
有没有人在这件事上耍花招
谢谢
出于好奇:我正在使用输入字段作为表/工作计划中的搜索字段。当用户更改周数重新绘制表格时,弹出窗口也会重新绘制。我试图保留搜索值,并将其放回输入字段、新弹出窗口和新表中 为了初始化输入值,您不应该使用
data html=“…”
指定弹出内容,这不会让更改值导致输入尚未创建(这就是为什么您无法将属性“value”设置为null),因此应该从预先存在的html内容中更改它,因此使用弹出:$(“#YourContentSelector”),
在弹出设置中设置内容,然后您可以使用以下命令更改输入值:$(“#input_test”).val('test');
:
HTML:
<!-- Popup Button -->
<i class="search link icon sok"></i>
<!-- Popup Button -->
<!-- Popup Content -->
<div class='ui form popup hidden' id="content"><!-- hidden class added so it won't be shown when it's loaded -->
<div class='field'>
<div class='ui icon input'>
<input type='text' placeholder='Input' id='input_test'>
<i class='search icon'></i>
</div>
</div>
</div>
<!-- Popup Content -->
这是一张工作票
您好,谢谢您的回答。但这不起作用。当输入字段位于弹出窗口中时,打开弹出窗口时,该字段将显示为空。如果我误解了什么,请您更改演示,使输入字段位于弹出窗口中好吗?谢谢!我用演示编辑了我的原始帖子,试图使用您的解决方案…After重建HTML,正如在这个答案中一样,它是有效的!编写一个单独的弹出窗口而不是使用数据HTML,使弹出代码在初始化之前“可访问”。谢谢!很高兴我能提供帮助:)
$(document).on('click', '.search.sok', function() {
$('#input_test').val('test');
$(this)
.popup({
popup: $('#content'),
on:'click'
})
.popup('show');
});