我似乎找不到每一行的控件。这些行是用addrow()方法添加的,该方法非常有效,只需要一些化妆品。我的目标是在更改select选项时获取行中每个控件的值。但是,该函数从未启动,我无法获得该行的控制值。
超文本标记语言
<table class="table table-bordered table-framed" id="seconDTableAdd" style="display:block;height: 100%;">
<tbody>
<tr class="AddBookmarksMenuHere">
<td style="width: 65%;">
<input type='text' id="txtTitle" class="txtTitleStyle" style=" width: 150px; padding - top: 1px; height: 20px; font - size: 10px; color: #555555; vertical - align: left; background - color: #ffffff;1px solid #cccccc;border - radius: 1px; " />
</td>
<td style="width: 15%;">
<select name="ParentRank" onchange="getSelectValue()" class="ParentRankClass">
<option value="P1">P1</option>
<option value="P2">P2</option>
</select>
</td>
<td style="width: 15%;">
<select name="ChildRank" class="ChildRankClass" onchange="getSelectValue();">
<option value="c1">C1</option>
<option value="c2">c2</option>
</select>
</td>
<td style="width: 5%;"><a onclick="AddRow('seconDTableAdd')">+</a></td>
</tr>
</tbody>
</table>
JQuery
<script>
$(".ChildRankClass").on('change', 'select', function (e) {
var a = $(this).closest("tr").find("input[type=text][name=txtTitle]").val();
var b = $(this).closest('tr').find('.txtTitleStyle').val();
alert(a);
alert(b);
})
function AddRow(tableID) {
var i = 2;
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var Parentarray = ["P1", "P2", "P3", "P4", "P5"];
var childarray = ["", "C1", "C2", "C3", "C4", "C5", "C6", "C7", "C8", "C9", "C10"];
var cell1 = row.insertCell(0); //chekbox
var element1 = document.createElement("input");
element1.type = "text";
element1.setAttribute("name", "txtTitle");
element1.setAttribute("class", "txtTitleStyle");
element1.setAttribute("Style", "width: 150px; padding - top: 1px; height: 20px; font - size: 10px; color: #555555; vertical - align: left; background - color: #ffffff; 1px solid #cccccc; border - radius: 1px; ");
cell1.appendChild(element1);
var cell2 = row.insertCell(1); //item
var element2 = document.createElement("SELECT");
element2.setAttribute("name", "ParentRank");
element2.setAttribute("class", "ParentRankClass");
element2.setAttribute("Style", "font - size: 10px; ");
cell2.appendChild(element2);
var cell3 = row.insertCell(2); //price
var element3 = document.createElement("SELECT");
element3.setAttribute("name", "ChildRank");
element3.setAttribute("class", "ChildRankClass");
//element3.setAttribute("onchange", "getSelectValue()");
element3.setAttribute("Style", "font - size: 10px;");
cell3.appendChild(element3);
var cell4 = row.insertCell(3); //qty
var element4 = document.createElement("a");
var linkText = document.createTextNode("-");
element4.appendChild(linkText);
element4.title = "Remove Row";
element4.href = "http://example.com";
cell4.appendChild(element4);
//Create and append the Parent options
for (var i = 0; i < Parentarray.length; i++) {
var option = document.createElement("option");
option.setAttribute("value", Parentarray[i]);
option.text = Parentarray[i];
element2.appendChild(option);
}
//Create and append the Child options
for (var i = 0; i < childarray.length; i++) {
var option = document.createElement("option");
option.setAttribute("value", childarray[i]);
option.text = childarray[i];
element3.appendChild(option);
}
}
</script>
您应该使用类似的事件处理程序。单击
添加新行,否则代码将无法找到函数。以下是对该问题的更好描述。你可以在这里找到你的样品的工作演示。
你必须这样写。对于动态生成的元素,您不能在其上设置任何事件处理程序,因为类ChildRankClass
稍后生成。每次都有人在场。因此,您必须将事件处理程序附加到它。
$("tbody").on('change', '.ChildRankClass', function () {
var a = $(this).closest("tr").find("input[type=text][name=txtTitle]").val();
var b = $(this).closest('tr').find('.txtTitleStyle').val();
alert(a);
alert(b);
})
问题内容: 我试图将socket.io添加到Express上现有的node.js应用程序中。我在服务器端添加了如下的socket.io库(紧随http://socket.io/get- started/chat/ ): 现在,在前端,我只是在建立连接: 但是,控制台没有在控制台中显示“用户已连接”,而是记录了连续的轮询流。我正在Mac上使用支持Websockets的最新版本的Chrome。 我一定
我对MongoDB Java驱动程序(使用3.0.4版本的驱动程序和3.2.3版本的MongoDB)有一个问题。我正在尝试检查是否有连接打开到MongoDB服务器,如果没有打开,则抛出异常。我应该可以抓住它: 我遇到的问题是抛出的异常没有被捕获,它似乎来自一个我无法访问的线程?对于测试,我没有运行Mongo服务器来查看抛出的异常。与本问题中的问题类似(MongoDB java driver 3.0
我看到关于未找到文件的错误消息: GET jQuery的jQuery-1.10.2.min.Map正在触发404(找不到) 这是从哪来的?
问题内容: 我使用10gen的本机node.js驱动器将mongodb(2.2.2)与node.js一起使用。 起初一切顺利。但是当涉及到并发基准测试部分时,会发生很多错误。频繁进行1000次并发连接/关闭可能会导致mongodb拒绝任何进一步的请求,并出现以下错误: 另外,如果许多客户端在没有显式关闭的情况下关闭,则mongodb将花费几分钟的时间来检测并关闭它们。这也将导致类似的连接问题。(使
我试试看。js与mongodb(2.2.2)一起使用本机节点。js drive by 10gen。 起初一切都很顺利。但在并发基准测试部分,出现了很多错误。频繁连接/关闭1000次并发可能会导致mongodb拒绝任何进一步的请求,错误如下: 此外,如果很多客户端在没有显式关闭的情况下关闭,mongodb需要几分钟来检测并关闭它们。这也会导致类似的连接问题。(使用/var/log/mongodb/m
我写了一个类,其中有连接池和流水线,使用这个类的方法类似于(我删除了一个循环,但setKey将发生在循环中): 因此,一旦管道上的项目数超过200,i同步项目并清除管道,然后重新启动。问题是如何使用此设置将连接正确地返回到池。 据我所知,我必须将jedispool.getResource()包装到try块中,但我无法考虑如何将它与管道和计数器结合在一起。