Javascript 如何获取复选框I';我查过了?
我试过下面的代码Javascript 如何获取复选框I';我查过了?,javascript,jquery,html,ajax,jstree,Javascript,Jquery,Html,Ajax,Jstree,我试过下面的代码 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="http://static.jstree.com/v.1.0pre/jquery.js"></script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="http://static.jstree.com/v.1.0pre/jquery.js"></script>
<script type="text/javascript" src="http://static.jstree.com/v.1.0pre/jquery.jstree.js"></script>
</head>
<body>
<div id="jstree_id" class="demo">
<ul>
<li id="asia">
<a href="#" onClick="bridge('url','my_id')">asia</a>
<ul>
<li id="china">
<a href="#" onClick="bridge('url','my_id')">india</a>
</li>
<li id="japan">
<a href="#" onClick="bridge('url','my_id')">japan</a>
</li>
</ul>
</li>
<li id="usa">
<a href="#" onClick="bridge('url','my_id')">usa</a>
</li>
</ul>
</div>
<input type="text" id="com" onKeyUp="bridge('com_url','my_id')" />
<input type="text" id="person" onKeyUp="bridge('prsn_url','my_id')" />
<input type="button" value="click" onClick="bridge('url','my_id');" />
<script type="text/javascript" class="source">
$(function () {
$("#jstree_id").jstree({
"plugins" : [ "themes", "html_data", "checkbox", "sort", "ui" ]
});
});
function bridge(path, tag) {
// path & tag are required one for Ajax functions*
var checked_ids = [];
$("#jstree_id").jstree("get_checked",null,true).each(function () {
checked_ids.push(this.id);
});
var company = $("#com").val() || [];
var person = $("#person").val() || [];
console.log(company+person+checked_ids);
}
</script>
</body>
</html>
<body>
<div id="jstree_id" class="demo">
<ul>
<li id="asia">
<a href="#">asia</a>
<ul>
<li id="china">
<a href="#">india</a>
</li>
<li id="japan">
<a href="#">japan</a>
</li>
</ul>
</li>
<li id="usa">
<a href="#">usa</a>
</li>
</ul>
</div>
<input type="text" id="com" onKeyUp="bridge('com_url','my_id')" />
<input type="text" id="person" onKeyUp="bridge('prsn_url','my_id')" />
<input type="button" value="click" onClick="bridge('url','my_id');" />
<script type="text/javascript" class="source">
$(function () {
$("#jstree_id").jstree({
"plugins" : [ "themes", "html_data", "checkbox", "sort", "ui" ]
});
});
$('#jstree_id').bind('change_state.jstree',function(){
bridge('url','my_id');
});
function bridge(path, tag) {
//path & tag are required one for Ajax functions
var checked_ids = [];
$("#jstree_id").jstree("get_checked",null,true).each(function () {
checked_ids.push(this.id);
});
var company = $("#com").val() || [];
var person = $("#person").val() || [];
console.log(company+person+checked_ids);
}
</script>
</body>
</html>
-
-
-
-
$(函数(){
$(“#jstree_id”).jstree({
“插件”:[“主题”、“html_数据”、“复选框”、“排序”、“ui”]
});
});
功能桥(路径、标记){
//路径和标记是Ajax函数所必需的*
检查的var_id=[];
$(“#jstree_id”).jstree(“get_checked”,null,true)
已检查\u id.push(此.id);
});
var company=$(“#com”).val()| |[];
var person=$(“#person”).val();
console.log(公司+个人+已检查的ID);
}
问题是:
<body>
<div id="jstree_id" class="demo">
<ul>
<li id="asia">
<a href="#">asia</a>
<ul>
<li id="china">
<a href="#">india</a>
</li>
<li id="japan">
<a href="#">japan</a>
</li>
</ul>
</li>
<li id="usa">
<a href="#">usa</a>
</li>
</ul>
</div>
<input type="text" id="com" onKeyUp="bridge('com_url','my_id')" />
<input type="text" id="person" onKeyUp="bridge('prsn_url','my_id')" />
<input type="button" value="click" onClick="bridge('url','my_id');" />
<script type="text/javascript" class="source">
$(function () {
$("#jstree_id").jstree({
"plugins" : [ "themes", "html_data", "checkbox", "sort", "ui" ]
});
});
$('#jstree_id').bind('change_state.jstree',function(){
bridge('url','my_id');
});
function bridge(path, tag) {
//path & tag are required one for Ajax functions
var checked_ids = [];
$("#jstree_id").jstree("get_checked",null,true).each(function () {
checked_ids.push(this.id);
});
var company = $("#com").val() || [];
var person = $("#person").val() || [];
console.log(company+person+checked_ids);
}
</script>
</body>
</html>
当我点击复选框时,它只返回已经选中的id
Iv'e。如何获取当前选中的复选框的ID
<body>
<div id="jstree_id" class="demo">
<ul>
<li id="asia">
<a href="#">asia</a>
<ul>
<li id="china">
<a href="#">india</a>
</li>
<li id="japan">
<a href="#">japan</a>
</li>
</ul>
</li>
<li id="usa">
<a href="#">usa</a>
</li>
</ul>
</div>
<input type="text" id="com" onKeyUp="bridge('com_url','my_id')" />
<input type="text" id="person" onKeyUp="bridge('prsn_url','my_id')" />
<input type="button" value="click" onClick="bridge('url','my_id');" />
<script type="text/javascript" class="source">
$(function () {
$("#jstree_id").jstree({
"plugins" : [ "themes", "html_data", "checkbox", "sort", "ui" ]
});
});
$('#jstree_id').bind('change_state.jstree',function(){
bridge('url','my_id');
});
function bridge(path, tag) {
//path & tag are required one for Ajax functions
var checked_ids = [];
$("#jstree_id").jstree("get_checked",null,true).each(function () {
checked_ids.push(this.id);
});
var company = $("#com").val() || [];
var person = $("#person").val() || [];
console.log(company+person+checked_ids);
}
</script>
</body>
</html>
代码的全部目的是通过Ajax
函数getcheckedds()根据复选框树
和文本
的所有组合搜索数据库
function getCheckedIDs()
{
var elements = document.getElementsByTagName("INPUT");
var checkedArray = new Array();
for(var i=0;i<elements.length;i++)
{
if(elements[i].type === 'checkbox' && elements[i].checked)
{
checkedArray.push(elements[i].id);
}
}
return checkedArray;
}
<body>
<div id="jstree_id" class="demo">
<ul>
<li id="asia">
<a href="#">asia</a>
<ul>
<li id="china">
<a href="#">india</a>
</li>
<li id="japan">
<a href="#">japan</a>
</li>
</ul>
</li>
<li id="usa">
<a href="#">usa</a>
</li>
</ul>
</div>
<input type="text" id="com" onKeyUp="bridge('com_url','my_id')" />
<input type="text" id="person" onKeyUp="bridge('prsn_url','my_id')" />
<input type="button" value="click" onClick="bridge('url','my_id');" />
<script type="text/javascript" class="source">
$(function () {
$("#jstree_id").jstree({
"plugins" : [ "themes", "html_data", "checkbox", "sort", "ui" ]
});
});
$('#jstree_id').bind('change_state.jstree',function(){
bridge('url','my_id');
});
function bridge(path, tag) {
//path & tag are required one for Ajax functions
var checked_ids = [];
$("#jstree_id").jstree("get_checked",null,true).each(function () {
checked_ids.push(this.id);
});
var company = $("#com").val() || [];
var person = $("#person").val() || [];
console.log(company+person+checked_ids);
}
</script>
</body>
</html>
{
var elements=document.getElementsByTagName(“输入”);
var checkedArray=新数组();
对于(var i=0;i函数getcheckedds()
{
var elements=document.getElementsByTagName(“输入”);
var checkedArray=新数组();
对于(var i=0;iu),可以尝试此方法
$(document).ready(function() {
var entity=[];
$("input[type='checkbox']").click(function(){
entity = $('input:checkbox:checked[name=checked]').map(function () {
return $(this).attr("id");
}).get();
alert(entity);
});
});
<body>
<div id="jstree_id" class="demo">
<ul>
<li id="asia">
<a href="#">asia</a>
<ul>
<li id="china">
<a href="#">india</a>
</li>
<li id="japan">
<a href="#">japan</a>
</li>
</ul>
</li>
<li id="usa">
<a href="#">usa</a>
</li>
</ul>
</div>
<input type="text" id="com" onKeyUp="bridge('com_url','my_id')" />
<input type="text" id="person" onKeyUp="bridge('prsn_url','my_id')" />
<input type="button" value="click" onClick="bridge('url','my_id');" />
<script type="text/javascript" class="source">
$(function () {
$("#jstree_id").jstree({
"plugins" : [ "themes", "html_data", "checkbox", "sort", "ui" ]
});
});
$('#jstree_id').bind('change_state.jstree',function(){
bridge('url','my_id');
});
function bridge(path, tag) {
//path & tag are required one for Ajax functions
var checked_ids = [];
$("#jstree_id").jstree("get_checked",null,true).each(function () {
checked_ids.push(this.id);
});
var company = $("#com").val() || [];
var person = $("#person").val() || [];
console.log(company+person+checked_ids);
}
</script>
</body>
</html>
你可以试试这个
$(document).ready(function() {
var entity=[];
$("input[type='checkbox']").click(function(){
entity = $('input:checkbox:checked[name=checked]').map(function () {
return $(this).attr("id");
}).get();
alert(entity);
});
});
<body>
<div id="jstree_id" class="demo">
<ul>
<li id="asia">
<a href="#">asia</a>
<ul>
<li id="china">
<a href="#">india</a>
</li>
<li id="japan">
<a href="#">japan</a>
</li>
</ul>
</li>
<li id="usa">
<a href="#">usa</a>
</li>
</ul>
</div>
<input type="text" id="com" onKeyUp="bridge('com_url','my_id')" />
<input type="text" id="person" onKeyUp="bridge('prsn_url','my_id')" />
<input type="button" value="click" onClick="bridge('url','my_id');" />
<script type="text/javascript" class="source">
$(function () {
$("#jstree_id").jstree({
"plugins" : [ "themes", "html_data", "checkbox", "sort", "ui" ]
});
});
$('#jstree_id').bind('change_state.jstree',function(){
bridge('url','my_id');
});
function bridge(path, tag) {
//path & tag are required one for Ajax functions
var checked_ids = [];
$("#jstree_id").jstree("get_checked",null,true).each(function () {
checked_ids.push(this.id);
});
var company = $("#com").val() || [];
var person = $("#person").val() || [];
console.log(company+person+checked_ids);
}
</script>
</body>
</html>
最好使用jstree支持的本机事件,而不是使用js事件:
<body>
<div id="jstree_id" class="demo">
<ul>
<li id="asia">
<a href="#">asia</a>
<ul>
<li id="china">
<a href="#">india</a>
</li>
<li id="japan">
<a href="#">japan</a>
</li>
</ul>
</li>
<li id="usa">
<a href="#">usa</a>
</li>
</ul>
</div>
<input type="text" id="com" onKeyUp="bridge('com_url','my_id')" />
<input type="text" id="person" onKeyUp="bridge('prsn_url','my_id')" />
<input type="button" value="click" onClick="bridge('url','my_id');" />
<script type="text/javascript" class="source">
$(function () {
$("#jstree_id").jstree({
"plugins" : [ "themes", "html_data", "checkbox", "sort", "ui" ]
});
});
$('#jstree_id').bind('change_state.jstree',function(){
bridge('url','my_id');
});
function bridge(path, tag) {
//path & tag are required one for Ajax functions
var checked_ids = [];
$("#jstree_id").jstree("get_checked",null,true).each(function () {
checked_ids.push(this.id);
});
var company = $("#com").val() || [];
var person = $("#person").val() || [];
console.log(company+person+checked_ids);
}
</script>
</body>
</html>
-
-
-
-
$(函数(){
$(“#jstree_id”).jstree({
“插件”:[“主题”、“html_数据”、“复选框”、“排序”、“ui”]
});
});
$('#jstree_id').bind('change_state.jstree',function(){
桥接器('url','my_id');
});
功能桥(路径、标记){
//路径和标记是Ajax函数所必需的
检查的var_id=[];
$(“#jstree_id”).jstree(“get_checked”,null,true)
已检查\u id.push(此.id);
});
var company=$(“#com”).val()| |[];
var person=$(“#person”).val();
console.log(公司+个人+已检查的ID);
}
直接使用click事件不起作用,因为在click事件触发后会触发更改复选框状态的jstree事件,而不是使用js事件,因此最好使用jstree支持的本机事件:
<body>
<div id="jstree_id" class="demo">
<ul>
<li id="asia">
<a href="#">asia</a>
<ul>
<li id="china">
<a href="#">india</a>
</li>
<li id="japan">
<a href="#">japan</a>
</li>
</ul>
</li>
<li id="usa">
<a href="#">usa</a>
</li>
</ul>
</div>
<input type="text" id="com" onKeyUp="bridge('com_url','my_id')" />
<input type="text" id="person" onKeyUp="bridge('prsn_url','my_id')" />
<input type="button" value="click" onClick="bridge('url','my_id');" />
<script type="text/javascript" class="source">
$(function () {
$("#jstree_id").jstree({
"plugins" : [ "themes", "html_data", "checkbox", "sort", "ui" ]
});
});
$('#jstree_id').bind('change_state.jstree',function(){
bridge('url','my_id');
});
function bridge(path, tag) {
//path & tag are required one for Ajax functions
var checked_ids = [];
$("#jstree_id").jstree("get_checked",null,true).each(function () {
checked_ids.push(this.id);
});
var company = $("#com").val() || [];
var person = $("#person").val() || [];
console.log(company+person+checked_ids);
}
</script>
</body>
</html>
<body>
<div id="jstree_id" class="demo">
<ul>
<li id="asia">
<a href="#">asia</a>
<ul>
<li id="china">
<a href="#">india</a>
</li>
<li id="japan">
<a href="#">japan</a>
</li>
</ul>
</li>
<li id="usa">
<a href="#">usa</a>
</li>
</ul>
</div>
<input type="text" id="com" onKeyUp="bridge('com_url','my_id')" />
<input type="text" id="person" onKeyUp="bridge('prsn_url','my_id')" />
<input type="button" value="click" onClick="bridge('url','my_id');" />
<script type="text/javascript" class="source">
$(function () {
$("#jstree_id").jstree({
"plugins" : [ "themes", "html_data", "checkbox", "sort", "ui" ]
});
});
$('#jstree_id').bind('change_state.jstree',function(){
bridge('url','my_id');
});
function bridge(path, tag) {
//path & tag are required one for Ajax functions
var checked_ids = [];
$("#jstree_id").jstree("get_checked",null,true).each(function () {
checked_ids.push(this.id);
});
var company = $("#com").val() || [];
var person = $("#person").val() || [];
console.log(company+person+checked_ids);
}
</script>
</body>
</html>
-
-
-
-
$(函数(){
$(“#jstree_id”).jstree({
“插件”:[“主题”、“html_数据”、“复选框”、“排序”、“ui”]
});
});
$('#jstree_id').bind('change_state.jstree',function(){
桥接器('url','my_id');
});
功能桥(路径、标记){
//路径和标记是Ajax函数所必需的
检查的var_id=[];
$(“#jstree_id”).jstree(“get_checked”,null,true)
已检查\u id.push(此.id);
});
var company=$(“#com”).val()| |[];
var person=$(“#person”).val();
console.log(公司+个人+已检查的ID);
}
直接使用click事件不起作用,因为在click事件触发后触发的jstree事件会更改复选框的状态而复选框
不是jstree
中真正的复选框。我只得到[]
在控制台中。在jstree
中,复选框不是真正的复选框。我在控制台中只得到[]
。如何在$(''jstree_id')中传递确切的url
和我的id
。绑定('change_state.jstree',function(){bridge('url','my_id'))})
?如何在$('#jstree_id').bind('change_state.jstree',function(){bridge('url','my_id');)中传递确切的url
和my_id
?
<body>
<div id="jstree_id" class="demo">
<ul>
<li id="asia">
<a href="#">asia</a>
<ul>
<li id="china">
<a href="#">india</a>
</li>
<li id="japan">
<a href="#">japan</a>
</li>
</ul>
</li>
<li id="usa">
<a href="#">usa</a>
</li>
</ul>
</div>
<input type="text" id="com" onKeyUp="bridge('com_url','my_id')" />
<input type="text" id="person" onKeyUp="bridge('prsn_url','my_id')" />
<input type="button" value="click" onClick="bridge('url','my_id');" />
<script type="text/javascript" class="source">
$(function () {
$("#jstree_id").jstree({
"plugins" : [ "themes", "html_data", "checkbox", "sort", "ui" ]
});
});
$('#jstree_id').bind('change_state.jstree',function(){
bridge('url','my_id');
});
function bridge(path, tag) {
//path & tag are required one for Ajax functions
var checked_ids = [];
$("#jstree_id").jstree("get_checked",null,true).each(function () {
checked_ids.push(this.id);
});
var company = $("#com").val() || [];
var person = $("#person").val() || [];
console.log(company+person+checked_ids);
}
</script>
</body>
</html>