gpt4 book ai didi

javascript - 当我们使用分页时,如何将所有页面中的所有选定值附加到文本框中

转载 作者:行者123 更新时间:2023-11-27 23:50:13 25 4
gpt4 key购买 nike

我有一个index.html页面,其中有一个选项可以选择多个client_ip,并且我正在使用分页来显示多个client_ip。

请引用此网址中的index.html:http://plnkr.co/edit/y7qAUOwVfvKqQBjYW3JF?p=preview

假设在第一页的这个网址中,如果我选择 2 个 client_ip,这两个 client_ip 将显示在 client_ip 文本框中。然后,移动到第二页,如果我在那里选择一个 client_ip,我只能看到一个client_ip,但不是 client_ip 文本框中的 3 个 client_ip。

但现在我试图将所有页面的所有选定的 client_ip 显示到 client_ip 文本框中。

我的index.html:

<!DOCTYPE html>
<html>

<head>
<link rel="stylesheet" type="text/css" href="http://cdn.datatables.net/1.10.9/css/jquery.dataTables.min.css">
<script src="https://code.jquery.com/jquery-1.11.2.min.js" charset="utf-8"></script>
<script type="text/javascript" src="http://cdn.datatables.net/1.10.9/js/jquery.dataTables.min.js"></script>
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8" ></script>
<link rel="stylesheet" href="style.css">
<script src="script.js"></script>
</head>

<body>
<div>
<form action="/some" method="get">
Client Ip :
<input type="text" id="ip" name="client_ip" style="width: 600px;" />
<div id="subDiv">
<button type="submit" value="Submit">Submit</button>
</div>
</form>
</div>
<br/>

<table id="example" class="display" cellspacing="0" width="100%">
</table>

<script>


$(document).ready(function() {
var tabulate = function(data, columns) {
var svg = d3.select('#ip').append("svg")
var table = d3.select('#example')
var thead = table.append('thead')
var tbody = table.append('tbody')

thead.append('tr')
.selectAll('th')
.data(columns)
.enter()
.append('th')
.text(function(d) {
return d
})

var rows = tbody.selectAll('tr')
.data(data)
.enter()
.append('tr')

var cells = rows.selectAll('td')
.data(function(row) {
return columns.map(function(column) {
return {
column: column,
value: row[column]
}
})
})
.enter()
.append('td')
.text(function(d) {
return d.value
})
.append("input")
.attr("id", "change")
.attr("type", "checkbox")
.style("float", "left")
.on("click", function(d,i) {

var csv = $(':checkbox[id=change]:checked').map(function(){return $(this).parent().text();}).get().join(',');

$('#ip').val(csv);

});


return table;
}

d3.csv('http://localhost:3000/getcsv', function(data) {
var columns = ['client_ip']
tabulate(data, columns)

$('#example').DataTable({
"pagingType": "full_numbers"
});
});

$("#ip").val('');

});
</script>
</body>

</html>

任何人都可以帮我解决这个问题吗...

最佳答案

另一种方法是将选定的 Ip 推送到数组中,如果未选中,则将其拼接。

<!DOCTYPE html>
<html>

<head>
<link rel="stylesheet" type="text/css" href="http://cdn.datatables.net/1.10.9/css/jquery.dataTables.min.css">
<script src="https://code.jquery.com/jquery-1.11.2.min.js" charset="utf-8"></script>
<script type="text/javascript" src="http://cdn.datatables.net/1.10.9/js/jquery.dataTables.min.js"></script>
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
<link rel="stylesheet" href="style.css">
<script src="script.js"></script>
</head>

<body>
<div>
<form action="/some" method="get">
Client Ip :
<input type="text" id="ip" name="client_ip" style="width: 600px;" />
<div id="subDiv">
<button type="submit" value="Submit">Submit</button>
</div>
</form>
</div>
<br/>

<table id="example" class="display" cellspacing="0" width="100%">
</table>

<script>
$(document).ready(function() {
var selectedIps = [];
var tabulate = function(data, columns) {
var svg = d3.select('#ip').append("svg")
var table = d3.select('#example')
var thead = table.append('thead')
var tbody = table.append('tbody')

thead.append('tr')
.selectAll('th')
.data(columns)
.enter()
.append('th')
.text(function(d) {
return d
})

var rows = tbody.selectAll('tr')
.data(data)
.enter()
.append('tr')

var cells = rows.selectAll('td')
.data(function(row) {
return columns.map(function(column) {
return {
column: column,
value: row[column]
}
})
})
.enter()
.append('td')
.text(function(d) {
return d.value
})
.append("input")
.attr("id", "change")
.attr("type", "checkbox")
.style("float", "left")
.on("change", function(d, i) {
if ($(this)[0].checked) {
if (selectedIps.indexOf(d.value) < 0) {
selectedIps.push(d.value);
}
} else {
if (selectedIps.indexOf(d.value) > -1) {
selectedIps.splice(selectedIps.indexOf(d.value), 1);
}
}
$('#ip').val(selectedIps.join(','));
});


return table;
}

d3.csv('getcsv', function(data) {
var columns = ['client_ip']
tabulate(data, columns)

$('#example').DataTable({
"pagingType": "full_numbers"
});
});

$("#ip").val('');

});
</script>
</body>

</html>

Plunker

关于javascript - 当我们使用分页时,如何将所有页面中的所有选定值附加到文本框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32780708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com