我正在尝试通过搜索产品名称来设置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>"
);
答案 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>