gpt4 book ai didi

javascript - js函数调用一次后页面卡住

转载 作者:行者123 更新时间:2023-11-28 15:43:36 25 4
gpt4 key购买 nike

在我的页面上我有复选框。如果选中,则我们将输入字段设置为启用,否则将其禁用。所以当我第一次加载页面时它工作正常。但卡住之后。在 Chrome 控制台中似乎没有任何内容出现。

为什么会这样?

这就是元素

<label  class="switch span2">
<input id="p_switcher" name="action" type="checkbox" class="switch-input"/>
<span class="switch-label" data-on="New Project" data-off="Open Project"></span>
<span class="switch-handle"></span>
</label>

fileds 看起来像这样(作为示例)

<input type="text" name="ProjectName" placeholder="Project Name" id="textProjectName" disabled/>

这是 JS

    <script type="text/javascript">
$(function () {
// disable not usable fileds
var handlers = function () {
$('input#p_switcher').change(function () {
//setting the atributes
var setAttr = function (fieldName, value) {
$('[name=' + fieldName + ']').attr('disabled', value);
w2ui.form.fields.filter(function (x) { return x.name == fieldName; })[0].required = !value;
}
if ($('input#p_switcher').prop("checked", true)) {
// setAttr('projectId', true);
setAttr('ProjectName', false);
setAttr('CompanyName', false);
setAttr('FieldOperator', false);
setAttr('FieldName', false);
setAttr('Unit', false);
} else {
// setAttr('projectId', false);
setAttr('ProjectName', true);
setAttr('CompanyName', true);
setAttr('FieldOperator', true);
setAttr('FieldName', true);
setAttr('Unit', true);
}

w2ui.form.refresh();
handlers();
});
}

setTimeout(handlers, 500);
});
</script>

最佳答案

if ($('input#p_switcher').prop("checked", true)) {

在这一行中,您实际上再次触发了 .change 事件。

我认为你的意思是:

if($('input#p_switcher').prop("checked")) {
....
}

关于javascript - js函数调用一次后页面卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23080901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com