如何在jQuery Mobile中移除已经打开的弹出窗口

8

我在Google和搜索SO,但找不到任何与我相关的内容。

http://jsfiddle.net/aravinth/Ad22d/90/

在这个示例中,使用ADD ROW克隆了表格行,在该表格行中单击Add Expenses会显示popup,当单击PLUS icon时也会克隆它...

我的问题从这里开始,现在我点击第一行添加费用按钮弹出窗口中克隆了3行,然后点击第二行添加费用,它显示三行,但我需要仅显示一列(即默认列)...

请提供一些想法...谢谢


你需要根据底层数据为每个工人实例化一个新的/全新的对象。创建一个函数,它接受一个基本未填充的弹出窗口模板,然后如果有更多的费用等待添加,就为每个工人添加更多的行,并在完成后显示它。 - Rob Schmuecker
@RobSchmuecker 感谢您的回复。我理解了,但是我对JavaScript和jQuery还很陌生,所以无法完全做到。 - Aravin
2
这应该能让你开始了。我不得不将函数的范围限定为window对象,因为jsfiddle与框架的工作方式有关。http://jsfiddle.net/TYw57/1/ 另外建议你使用jQuery进行克隆等操作,jQuery网站上有很多相关文档。 - Rob Schmuecker
你能不能不使用window.close()? - Agi Hammerthief
1个回答

2

我已在所有的addExpenses按钮上添加了以下方法(即为所有的addExpenses按钮添加onclick="addExpenses();"属性)。

function addExpenses()
{
  var row = document.getElementById("expenseTable");
  var table = document.getElementById("expenseParticulars");
  var rowcount=table.rows.length-1;
  for(var i=2;i<=rowcount;)
  {
    table.deleteRow(i);
    rowcount--;
  }
  var clone = row.rows[1];
  var addExpenses = clone.cells[3].getElementsByTagName('input')[0];
  addExpenses.disabled = false;
  counter=2;
}

请参考这个 jsfiddle。

这是我在我的应用程序中所做的,但我觉得这不是正确的方式,所以我没有在这里写出我的答案...对你的努力加一分。 - Aravin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接