Javascript在第二个按钮单击而不是第一个按钮上工作
Javascript working on second button click instead of first
我有一个表格,我正在尝试通过单击按钮来显示和激活表单信息。该表设置为"display: none",按钮连接到javascript。javascript可以工作,但只有在第二次单击按钮之后。我希望它在第一次点击时工作。
按钮和表格 HTML:
<button data-bind="click: addPatient" style="margin-top: 20px; margin-bottom: 10px;">Add Patient</button>
<table id="newPatientForm">
<tr>
<th>First Name</th>
<th>Last Name</th>
<th></th>
</tr>
<tbody data-bind="foreach:Patients">
<tr>
<td class="form-group"><input data-bind="value: FirstName, event: {change: flagPatientAsEdited}, hasfocus: true" /></td>
<td class="form-group"><input data-bind="value: LastName" /></td>
<td class="form-group"><button data-bind="click: $parent.removePatient">Delete</button></td>
</tr>
</tbody>
</table>
这是表 CSS:
#newPatientForm {
display: none;
}
这是按钮调用的 JavaScript。
self.addPatient = function () {
var divElement = document.getElementById('newPatientForm');
var patient = new PatientViewModel({ SiteId: 0, FirstName: "", LastName: "", ObjectState: ObjectState.Added });
if (divElement.style.display == 'none') {
divElement.style.display = 'block';
self.Patients.push(patient);
}
else {
divElement.style.display = 'none';
self.Patients.pop(patient);
}
},
在
样式表中设置计算样式时,需要检查计算样式
function isHidden(elem) {
var style = window.getComputedStyle(elem);
return style.display === "none";
}
改变
if (divElement.style.display == 'none') {
自
if (isHidden(divElement)) {
它使用上述方法。
最好只有一个隐藏或不隐藏的类并切换该类。
最后,我不认为self.Patients.pop(patient);
正在做你认为它正在做的事情。 pop
方法没有参数。它不会查找和删除元素。
相关文章:
- 而循环只设置php中输入字段中的第一个值
- 错误:$injector:modulerr模块错误(我的第一个SPA应用程序)
- 单击一次后禁用按钮-第2部分
- IE11中的第二个调用取消了第一个Fetch API调用
- Javascript XMLHttpRequest——只有第一个POST请求有效
- 按下一个HTML按钮,该按钮使用一个功能在同一个新窗口中打开URL
- 使用javascript或angularjs特定过滤器搜索字符串中第一个img标记的json值
- 将OnClick函数设置为<ul>,最后一个ul是擦除第一个ul-s
- RxJS油门行为;立即获取第一个值
- Angular UI网格:如何通过第一个UI网格中的按钮使第二个UI网格可见
- 选择多个实例中的第一个
- 我的设备后退按钮工作不正常,它转到第一个html,但返回到第二个html
- 数据表删除按钮在其他页面上不起作用,除了第一个
- 如何选择这些按钮中的第一个
- 第二个 JS 按钮触发第一个 JS 按钮
- 在表中第一个tr的倒数第二个td中选择按钮-使用jQuery选择器
- .after()当我点击这个按钮后,第二个,而不是第一个
- 如果选项卡是第一个,则禁用previous按钮
- 如果按下按钮,显示从json中获得的第一个X元素
- Javascript -如果没有选中单选按钮,选中第一个