Javascript 如何在函数中传递参数

Javascript 如何在函数中传递参数,javascript,php,jquery,Javascript,Php,Jquery,如何传递文本框的值这适用于第一个选择框,为什么不适用于所有选择框。如果我选中该复选框,文本框的值将设置为null <input type="checkbox" name="onoffswitch'.$i.'" class="onoffswitch'.$i.'-checkbox" id="myonoffswitch'.$i.'" checked onclick=my(this.form,'buy".$p."','sell".$p."','onoffswitch".$i."');>

如何传递文本框的值这适用于第一个选择框,为什么不适用于所有选择框。如果我选中该复选框,文本框的值将设置为null

 <input type="checkbox" name="onoffswitch'.$i.'" class="onoffswitch'.$i.'-checkbox" id="myonoffswitch'.$i.'" checked onclick=my(this.form,'buy".$p."','sell".$p."','onoffswitch".$i."');>
 echo '<td><input type=text maxlength="6" size="6" value='.$cfet['purchaseprice'].' name=buy'.$p.'></td>'; 
 echo '<td><input type=text maxlength="6" size="6" value='.$cfet['sellingprice'].' name=sell'.$p.'></td>';
 function my(a,buy,sell,select)
 {
 alert("select"+select);
 alert("si"+a.select.checked);
 if(a.select..checked == false) {
 alert("true"+buy);
 a.buy.value="";
 a.sell.value="";
}

回声';
回声';
功能我的(a、买、卖、选)
{
警报(“选择”+选择);
警报(“si”+a.选择.选中);
如果(a.select..checked==false){
警惕(“正确”+买入);
a、 购买。价值=”;
a、 卖出。价值=”;
}

PHP代码不正确,请使用

带有PHP代码的HTML

 <input type="checkbox" name="onoffswitch<?php echo $i ?>" 
             class="onoffswitch<?php echo $i ?>-checkbox"
             id="myonoffswitch<?php echo $i; ?>" checked 
             onclick="my(this.value,'buy<?php echo $p ?>','sell<?php echo $p ?>');">
在Javascript(和JQuery)中,只需在函数名中包含一个变量并像普通ie一样引用即可传递值

my(this.val,$,$,"x")

function my(value,something,somethingElse,letter){
var answer = somthing + somethingElse;
alert(value);
}

您询问如何将textbox的值作为参数传递

你必须这样通过考试:

onclick="my(this.value,"'.$cfet['purchaseprice'].'","'.$cfet['sellingprice']");

下面是使用jQuery获取
输入值的方法。假设您的复选框是当前上下文(在上面的例子中是):

如果您使用jQuery附加事件处理函数,则可以使其更易于阅读和维护:

$('#myonoffswitch').on('click', function(){
    var a = this.value, b = $(this).next().val(), c = $(this).nextAll().eq(1).val();
    alert(a + ' ' + b + ' ' + c);
});

您的第一行也是由echo生成的吗?您已经在传递值了,这是第一个参数?其他参数似乎是语法错误,看起来像不带引号的字符串,但谁知道呢?是我在echo中生成的第一行。哪个文本输入的值?有两个。您的尝试在哪里?如果是,为什么第一行中没有echo是由
echo
生成的?我个人会将输入放在一个表单中,如果您想使用php,可以使用POST处理。请阅读以下内容:
onclick="my(this.value, $(this).next().val(), $(this).nextAll().eq(1).val())"
$('#myonoffswitch').on('click', function(){
    var a = this.value, b = $(this).next().val(), c = $(this).nextAll().eq(1).val();
    alert(a + ' ' + b + ' ' + c);
});