我被告知不要for...in在JavaScript中使用数组.为什么不?
<script type="text/javascript">
/* ... */
</script>
Run Code Online (Sandbox Code Playgroud)
与
<script language="Javascript">
/* ... */
</script>
Run Code Online (Sandbox Code Playgroud)
应该使用哪个以及为什么?
或者,第三种方法:省略其中任何一种,例如jQuery的API参考中的示例代码:
<script src="http://code.jquery.com/jquery-latest.js"></script>
Run Code Online (Sandbox Code Playgroud) 我有一张信息表.表格的第一列有复选框.通过选中复选框,我可以使用按钮添加/删除行.我现在的问题是,我该如何选择或取消选择使用表头的复选框的所有复选框.
这是我的代码:
<HTML>
<HEAD>
<TITLE> Add/Remove dynamic rows in HTML table </TITLE>
<SCRIPT language="javascript">
function addRow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var cell1 = row.insertCell(0);
var element1 = document.createElement("input");
element1.type = "checkbox";
element1.name="chkbox[]";
cell1.appendChild(element1);
var cell2 = row.insertCell(1);
cell2.innerHTML = rowCount;
var cell3 = row.insertCell(2);
cell3.innerHTML = rowCount;
var cell4 = row.insertCell(3);
cell4.innerHTML = rowCount;
var cell5 = row.insertCell(4);
cell5.innerHTML = rowCount;
var cell6 = row.insertCell(5);
cell6.innerHTML = rowCount;
}
function deleteRow(tableID) …Run Code Online (Sandbox Code Playgroud) 我试图通过单击CheckBoxColumn中的上部复选框来选择表中的所有行,并使用以下定义:
selection = tables.CheckBoxColumn(accessor="pk", orderable=False)
Run Code Online (Sandbox Code Playgroud)
但是没有选择行,还有什么我需要做的吗?我使用的是django 1.4.1和django_tables2 0.13.0.
我的React Class中有多个复选框B.js:
<input
type="checkbox"
inline={true}
checked={this.props.checkBoxDefaultStatus}
onChange={this.handleCheckBoxClick}
/>
Run Code Online (Sandbox Code Playgroud)
现在道具checkBoxDefaultStatus从父类传递过来A.js。
A.js
this.state = {
checkBoxDefaultStatus: false
}
handleMultiSelect() {
this.setState({
checkBoxDefaultStatus: true
})
}
render() {
<B checkBoxDefaultStatus={this.state.checkBoxDefaultStatus} />
}
Run Code Online (Sandbox Code Playgroud)
编辑:现在,当我单击父复选框时,所有我的子复选框都被选中,但是问题是当我单击它们时,我的子复选框的状态未更改,因为它们已经由父项设置。我还需要一些方法来维持这一点。
这是我想要的行为/sf/answers/2465264861/
我已经在这里研究了所有的答案(/sf/answers/153371851/),但即使@davydepauw和@emeraldjava建议的最清晰的代码也不起作用......下面的代码没有选择/取消选择PHP代码中的框.
echo "<form action=$fileName method='post'>";
...
<script language='JavaScript'>
$('#select-all').click(function(event) {
if(this.checked) {
// Iterate each checkbox
$(':checkbox').each(function() {
this.checked = true;
});
}
else {
// Iterate each checkbox
$(':checkbox').each(function() {
this.checked = false;
});
}
});
</script>";
...
// This should select/deselect all checkboxes below:
echo "<input type='checkbox' name='select-all' id='select-all' />";
...
// The below is in the WHILE loop fetching data from MySQL:
echo "<input type='checkbox' name='IndustryID' value='" . $row['IndustryID'] . "'>";
...
</form>
Run Code Online (Sandbox Code Playgroud)
对于@DavidThomas请求,下面是呈现的代码:
<body> …Run Code Online (Sandbox Code Playgroud) 尝试从MySQL查询中为动态创建的行创建臭名昭着的checkall复选框.行(以及复选框)的范围可以从1行到公制buttload.
表格(没有checkall)如下:
<form name="form" method="post" action = "process.order.php">
<?php
while($fetch = mysql_fetch_array($order_query){
$order_id = $fetch['oid'];
$order_status = $fetch['ostat'];
?>
<input type="checkbox" name="order_row[<?=$order_id?>]" id="1" value="1">
<select name="status[<?=$order_id?>]" id="status[<?=$order_id?>]"
<option value="Ordered">Ordered</option>
<option value="Backordered">Backordered</option>
</select>
<? } ?>
<input type="submit" name="submit" id="submit" value="submit"> </form>
Run Code Online (Sandbox Code Playgroud)
在process.order.php中:
<?php
if(is_array($order_row)){
foreach($order_row as $order_id=>$val){
Run Code Online (Sandbox Code Playgroud)
...然后是脚本的其余部分.我尝试使用这个:如何在HTML中实现"全选"复选框? 并且: 选择所有复选框
我正试图在此刻避免使用jQuery.有没有办法可以将PHP脚本生成的复选框名称调用到javascript代码中?
更新: 我想使用一个可以跨多个页面调用的函数.因此,调用在JS中嵌入表单名称对我来说是不实际的.此外,我希望它是一个复选框 - 按钮工作得很好,但我试图保持UI简单,我已经有很多按钮,我试图摆脱...