繁体   English   中英

具有许多按钮的jQuery调用具有不同参数的函数

[英]Jquery with many buttons call a function with sending different parameters

我有一个简单的代码,但无法获取输入文本的值。 有什么办法吗?

<?php

    for ($i=0;$i<3;$i++){
        echo ('<input type="text" class="form-control" name="vec" id="vec'.$i.'" value="'.$listOfData0[$i].'">');
        echo ('<input type="text" class="form-control" name="drv" id="drv'.$i.'" value="'.$listOfData1[$i].'">');
        echo ('<button type="button" name="updateVecButton" id="updateVecButton" value="'.$vec[$i].','.$vell[$i].'" onclick="refreshVec("'.$i.'","'.$vell[$i].'");"></button>');
    }
?>

<script>
function refreshVec(i,vell){
    alert (i + " "+ vell);
    var value0 = $("#vec"+i).val();
    var value1 = $("#drv"+i).val();
    alert (value0 + " " + value1);
}

</script>

您还可以通过在onclick属性中使用双引号来使HTML乱码。 您应该在生成的HTML中看到它。

尝试

echo ('<button type="button" name="updateVecButton" id="updateVecButton" value="'.$vec[$i].','.$vell[$i].'" onclick="refreshVec(\''.$i.'\',\''.$vell[$i].'\');"></button>');

代替

echo ('<button type="button" name="updateVecButton" id="updateVecButton" value="'.$vec[$i].','.$vell[$i].'" onclick="refreshVec("'.$i.'","'.$vell[$i].'");"></button>');

您应该以输入数组的形式进行调用。 喜欢,

  echo('<input type="text" class="form-control" name="vec[]" id="vec'.$i.'" value="'.$listOfData0[$i].'">');
  echo('<input type="text" class="form-control" name="drv[]" id="drv'.$i.'" value="'.$listOfData1[$i].'">');
  echo('<button type="button" name="updateVecButton[]" id="updateVecButton" onclick="refreshVec("'.$i.'","'.$vell[$i].'");"/>'.$vec[$i].','.$vell[$i].'</button>');

将name =“ vec”和name =“ drv”更改为name =“ vec []”和name =“ drv []”

在您的( onclick="refreshVec("'.$i.'","'.$vell[$i].'");

你应该改变为

onclick="refreshVec(\\''.$i.'\\',\\''.$vell[$i].'\\');

我认为,原因是您传递带有字符串值的参数。

我不知道为什么,但是refreshVec( " 2" ,"2")之间存在空间。

这使字符串像" 2"而不是"2"

这就是为什么ID选择器选择了包含该空格的错误ID,而您没有得到预期的输出的原因

我更正了它,现在正在工作:

echo '<button onclick="refreshVec(\''.$i.'\',\''.$vell[$i].'\');">'.$vec[$i].','.$vell[$i].'</button>';

注意 :按钮没有像value这样的属性。 您应该将文字放在<button>标记内

我的解决方案是

$(this).prop("value");

.val()是另一回事。 谢谢你的支持。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM