【发布时间】:2017-01-01 07:24:16
【问题描述】:
我正在使用通过单击主页中的复选框触发的 Bootstrap 模式弹出窗口。弹出窗口包含几个文本框,用于根据用户输入从数据库中搜索。然后在输入并单击搜索按钮后,表格将在同一个弹出窗口中显示检索到的数据。然后,用户从表格中选择一行后,选择的数据将显示在主页面各自的文本框中,并且复选框将被选中。
我的计划是在第二次单击时取消选中复选框(考虑用户是否突然决定取消他们的决定 - 选中复选框)。我试过了,但它没有取消选中该复选框。相反,每次单击复选框都会弹出窗口,并且复选框不会再取消选中。
$('#inputNew').on('hidden.bs.modal', function (e) {
document.getElementById("inputNewCheckbox").checked = true;
document.getElementById("inputMother").style.display = 'block';
document.getElementById("inputMotherlabel").style.display = 'block';
var value = $('#myPopupInput1').val();
$('#inputMother').val(value);
$('#inputNew').modal('hide');
});
$('#inputNew').on('click', '#SearchMother', function () {
var value = $('#myPopupInput1').val();
$('#inputMother').val(value);
$('#inputNew').modal('hide');
});
if ($checkbox.data('waschecked') == true && $('#inputMother') != '') {
if ($('#inputNewCheckbox').on("click", function () {
$('#inputNewCheckbox').prop('checked', false);
}));
}
这是视图页面中的复选框输入:
<input type="checkbox" name="inputNew" value="inputNew" id="inputNewCheckbox" data-toggle="modal" data-target="#inputNew" data-waschecked="false"> New
对于复选框取消选中部分,我也尝试过
if ($('#inputNewCheckbox').prop('checked', true) && $('#inputMother') != '') {
if ($('#inputNewCheckbox').on("click", function () {
document.getElementById("inputNewCheckbox").checked = false;
}));
}
但是当我运行时,该复选框默认处于选中状态,而取消选中则不起作用。加上模态弹出窗口出现。
我也试过了
if (document.getElementById("inputNewCheckbox").checked = true && $('#inputMother') != '') {
if ($('#inputNewCheckbox').on("click", function () {
document.getElementById("inputNewCheckbox").checked = false;
}));
}
也与上面的代码相同的输出..有人可以帮帮我吗?我该如何解决这个问题?
【问题讨论】:
-
if ($('#inputNewCheckbox').prop('checked', true) && $('#inputMother') != '') { if ($('#inputNewCheckbox').on("click", function () { document.getElementById("inputNewCheckbox").checked = false; })); }看起来很不对劲。它是if ($('#inputNewCheckbox').is(':checked')),您不能在事件处理程序上使用 if:if ($('#inputNewCheckbox').on("click", function () {,如果您在单击时将复选框设置为 false,它将始终为 false ` -
@mplungjan 感谢您的建议。那么我应该怎么做才能取消选中第二次点击?我已经没有想法了,我也尝试过搜索,但找不到任何符合我情况的内容
-
问题太多了,我无法深入研究。主要问题之一是 DOM 和 jQuery 的可怕组合。
$('#inputNew').on('hidden.bs.modal', function (e) { $("#inputNewCheckbox").prop("checked",true); $("#inputMother").show(); $("#inputMotherlabel").show(); var value = $('#myPopupInput1').val(); $('#inputMother').val(value); $('#inputNew').modal('hide'); }); -
@mplungjan 所以换句话说,我应该把这两个代码分开?
-
你需要清理你的代码——它可能对这个问题没有帮助,但它肯定会帮助你或其他人找到它
标签: javascript asp.net-mvc bootstrap-modal