点击

时间:2018-02-27 15:54:12

标签: javascript php jquery

我正在尝试通过搜索产品名称来设置productID字段的值。搜索返回正确的结果并显示它们,但是当单击该值时,将其设置为数字。

例如,这是搜索时返回的内容......

pID: "<a class='result' onclick='setID(0001-001-004)' href='#'>Product Code=0001-001-004, White Folding Chair</a>"

单击以下结果时,输入的值设置为-4。如果返回的数字是0001-002-005,则设置为-5。

setID函数的代码是......

function setID(pID) {
    var prodCode=toString(pID);     
    $('input#productCode').val(pID);
    var clear="";
    $('div#suggestions').html(clear);
    $('div#suggestions').hide(); 

}  

有谁知道我怎么做到这一点。我不能在双引号或单引号之间返回id,因为这是返回结果的php。正如你将看到使用双引号和单引号让我无法以这种方式做到这一点......

$array[] = array (
        "pID" =>"<a class='result' onclick='setID(".$row['ITEMNO'].")' href='#'>Product Code=". $row['ITEMNO'].", " .$row['ITEMDESC']."</a>"
    );

3 个答案:

答案 0 :(得分:1)

您需要在连接周围添加单引号,例如

$array[] = array (
        "pID" =>"<a class='result' onclick='setID(\'".$row['ITEMNO']."\')' href='#'>Product Code=". $row['ITEMNO'].", " .$row['ITEMDESC']."</a>"
    );

答案 1 :(得分:1)

您在setID()

中缺少围绕值的双引号
"pID" =>"<a class='result' onclick='setID(\"".$row['ITEMNO']."\")' href='#'>Product Code=". $row['ITEMNO'].", " .$row['ITEMDESC']."</a>"

因为,值被解释为数字:0001-002-005 = 1-2-5 = -6
而不是"0001-002-005"这是一个字符串。

或使用单引号(在HTML中使用双引号):

"pID" => '<a class="result" onclick="setID(\''.$row['ITEMNO'].'\')" href="#">Product Code='. $row['ITEMNO'].', ' .$row['ITEMDESC'].'</a>'

答案 2 :(得分:1)

  

单击该值时,将其设置为数字

因为在JS中你已经将它设置为数字,但你需要将其设置为字符串:

<a class='result' onclick='setID("0001-001-004")'>Product Code=0001-001-004, White Folding Chair</a>