Javascript 向jquery发送一个变量

Javascript 向jquery发送一个变量,javascript,jquery,css,Javascript,Jquery,Css,我有一个复选框,我想在选中时运行一个函数,在未选中时运行另一个函数。我的代码是: function showCustomer(str,str2) { if (document.getElementById(str).checked) { var xhttp; if (str == "") { document.getElementById("xxxx").innerHTML = ""; return; } x

我有一个复选框,我想在选中时运行一个函数,在未选中时运行另一个函数。我的代码是:

function showCustomer(str,str2) {
    if (document.getElementById(str).checked) {
        var xhttp;
    if (str == "") {
        document.getElementById("xxxx").innerHTML = "";
        return;
    }
        xhttp = new XMLHttpRequest();
        xhttp.onreadystatechange = function () {
        if (this.readyState == 4 && this.status == 200) {
            document.getElementById("xxxx").innerHTML = this.responseText;
        }
    };
    xhttp.open("GET", "add.jsp?q=" + str + "&q2=" + str2, true);
    xhttp.send();
    }
    else {
        var xhttp;
    if (str == "") {
        document.getElementById("xxxx").innerHTML = "";
        return;
    }
        xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function () {
        if (this.readyState == 4 && this.status == 200) {
            document.getElementById("xxxx").innerHTML = this.responseText;
        }
    };
    xhttp.open("GET", "minus.jsp?q=" + str + "&q2=" + str2, true);
    xhttp.send();
    }
}
我的复选框代码是:

<input id="<%=cheque_tbl.getPRICE()%>" class="ch" type="checkbox" name="<%=cheque_tbl.getCHECKID()%>" onchange="showCustomer(this.value,this.id)">

问题是
document.getElementById(str).checked不起作用,必须是
document.getElementById(“str”)。checked
但我的复选框id不是一个简单的字符串,而是一个变量


如何在
getelement
中使用变量?为什么我的代码不起作用?

首先要传递
值,id

<input id="<%=cheque_tbl.getPRICE()%>" class="ch" type="checkbox" name="<%=cheque_tbl.getCHECKID()%>" onchange="showCustomer(this.value,this.id)">
因此,您不会得到元素和
元素。选中的
将是
未定义的
或错误的

改为

document.getElementById(str1).checked
它应该会起作用

您还可以发送元素引用

功能显示客户(el){
控制台日志(el.checked,el.value)
}

首先要传递
值,id

<input id="<%=cheque_tbl.getPRICE()%>" class="ch" type="checkbox" name="<%=cheque_tbl.getCHECKID()%>" onchange="showCustomer(this.value,this.id)">
因此,您不会得到元素和
元素。选中的
将是
未定义的
或错误的

改为

document.getElementById(str1).checked
它应该会起作用

您还可以发送元素引用

功能显示客户(el){
控制台日志(el.checked,el.value)
}

HTML更改:绑定复选框范围,通过onchange函数中的“this”访问它

<input id="dd" class="ch" type="checkbox" name="dd" onchange="showCustomer.apply(this,[this.value,this.id])">

希望它有助于解决Document.getElementById()问题,因为复选框的HTML更改:通过onchange函数中的“this”绑定复选框范围以访问它

<input id="dd" class="ch" type="checkbox" name="dd" onchange="showCustomer.apply(this,[this.value,this.id])">
希望它有助于解决Document.getElementById()复选框的问题

 <input id="<%=cheque_tbl.getPRICE()%>" class="ch" type="checkbox" name="<%=cheque_tbl.getCHECKID()%>" onchange="showCustomer(this,this.id)">

在函数showCustomer中,只需使用str.checked而不是document.getElementById(str.checked)。

试试这个

 <input id="<%=cheque_tbl.getPRICE()%>" class="ch" type="checkbox" name="<%=cheque_tbl.getCHECKID()%>" onchange="showCustomer(this,this.id)">


在函数showCustomer中,只需使用str.checked而不是document.getElementById(str).checked.

document.getElementById(您的变量)。checked
?检查str的值是否与实际id的值相同?您可以使用浏览器的开发人员工具检查复选框的实际id。尝试此@quardio yes i want my variable。尝试更改您的onchange事件以使用复选框作用域调用,例如,onchange=“showcuster.apply(this,[this.value,this.id]);然后在任何地方使用if(this.checked){…}轻松访问复选框
document.getElementById](yourvariable).选中
?检查str的值是否与实际id的值相同?您可以使用浏览器的开发人员工具检查复选框的实际id。尝试此@quardio yes我想要我的变量。尝试更改onchange事件,使其使用复选框作用域调用,如,onchange=“showCustomer.apply”(this,[this.value,this.id]);然后使用if(this.checked){…}随处都可以轻松访问CheckBox。上帝啊,谢谢你。我在几天内搜索了整个网站。你真的为我做了一件伟大的工作。我的工作。上帝啊,谢谢你。我在几天内搜索了整个网站。你真的为我做了一件伟大的工作。我的工作。