我的想实现的功能是这样的,是一个两级查询,第一级查询查询出一批商品,然后点击每一个商品序列号之后再显示明细信息。
思路是第一级查询的结果在php中while函数,在点击部分使用<a value="值"onclike="函数(this.value)">"</a>"是查出来的每一个配件都有一个函数可以用,然后返回给前台浏览器
PHP实际代码如下(部分):
while($row=mysqli_fetch_array($result)){\
<td>\<a href=\"#\" value=\"".$row[0]."\" id=\"".$row[0]."\" onclick=\"showleadsdetails(this.value)\">".$row[0]."\<\a>\</td>}
,我用浏览器调试工具可以看到实际生成的条款如下:
\<a href="#" value="leads-201602001" id="leads-201602001" onclick="showleadsdetails(this.value)">leads-201602001\</a>
即,我的js动作已经绑定了,元素的value也是对的,然后就是点击,调用showleadsdetails函数
function showleadsdetails(leadcodes){
var url="getleaddetails.php";
var leads="lead="+leadcodes;}
但是使用调试工具看的时候,一直没有参数传过来,只有leadcodes=undefined。
这是怎么回事?比较复杂的,绕了我好久,请大神麻烦解决,非常感谢,我把我所有的分数都送上了
value不属于a的特有属性,是自定义输入,需要用getAttribute获取,不能this.value,不好转义的话可以传递this,在函数中调用getAttribute
"<td><a href=\"#\" value=\"".$row[0]."\" id=\"".$row[0]."\" onclick=\"showleadsdetails(this.getAttribute('value'))\">"
onclick=\"showleadsdetails(this)\"
function showleadsdetails(a){
var leadcodes=a.getAttribute('value');/////////
var url="getleaddetails.php";
var leads="lead="+leadcodes;}
看下你是怎么绑定的,,,,
echo<a href=\"#\" value=\"".$row[0]."\" id=\"".$row[0]."\" onclick=\"showleadsdetails(this.value)\">".$row[0]."<\a></td> 用于绑定的PHP参数
实际页面显示<a href="#" value="leads-201602001" id="leads-201602001" onclick="showleadsdetails(this.value)">leads-201602001</a>
调用的函数是showleadsdetails(this.value),传递的参数是value="leads-201602001"
但我点击那个超链接,可以调用函数showleadsdetails(leadcodes)但无法把value传递过去,显示的结果就是leadcodes=undefined.
onclick="showleadsdetails(document.getElementById('leads-201602001').value)"
你的function 写成这样 showleadsdetails(value) 然后在函数体中直接调用value就行,value就是 实参的一个引用