<script>
var targetId="";
$(".foods").click(function(event) {
if (event.target.id=="img1"){
targetId="img1clickCount";
addOrders();}
else if(event.target.id="img2"){
targetId="img2clickCount";
addOrders(); }
else if(event.target.id="img3"){
targetId="img3clickCount";
addOrders(); }
else if(event.target.id="img4"){
targetId="img4clickCount";
addOrders(); }
}); });
function addOrders(){
document.getElementById(targetId).value=parseInt(document.getElementById(targetId).
value)+1;
}
</script>
<body>
<table cellpadding=0 cellspacing=0 border=1 height=330 style="margin-left:18px">
<tr>
//Images
<td><img src="gangjeong.png" width="100" style="cursor:pointer" id="img1"
class="foods"></td>
<td><img src="daktoritang.png" width="100" style="cursor:pointer" id="img2"
class="foods"></td>
<td><img src="tangsuyuk.png" width="100" style="cursor:pointer" id="img3"
class="foods"></td>
<td><img src="tangsuyuk.png" width="100" style="cursor:pointer" id="img4"
class="foods"></td>
<tr height="5">
//Textboxes
<td><input type="text" maxlength="5" readonly="readonly" value="0" id="img1clickCount">
</td>
<td><input type="text" maxlength="5" readonly="readonly" value="0" id="img2clickCount">
</td>
<td><input type="text" maxlength="5" readonly="readonly" value="0" id="img3clickCount">
</td>
<td><input type="text" maxlength="5" readonly="readonly" value="0" id="img4clickCount">
</td>
</tr></table>
答案 0 :(得分:3)
第一个条件;
if (event.target.id=="img1"){ // Compares
第二个条件;
if (event.target.id="img2"){ // Uses = (ie assigns, not compares)
答案 1 :(得分:1)
在其他条件下检查 ==
成功
$(".foods").click(function(event) {
if (event.target.id=="img1") {
targetId="img1clickCount";
addOrders();
}
else if(event.target.id=="img2") {
targetId="img2clickCount";
addOrders();
}
else if(event.target.id=="img3"){
targetId="img3clickCount";
addOrders();
}
else if(event.target.id=="img4"){
targetId="img4clickCount";
addOrders();
}
})
答案 2 :(得分:1)
您应该使用===
进行比较
else if(event.target.id === "img2"){
答案 3 :(得分:0)
您需要使用==
代替=
进行比较,前者是比较运算符,后者是赋值运算符
答案 4 :(得分:0)
像这样重写你的代码,它更简单 -
$(".foods").click(function(event) {
addOrders($(this).attr('id') + 'clickCount');
});
function addOrders(targetId){
var value = parseInt(
$('#' + targetId).val()) + 1;
$('#' + targetId).val(value);
}
答案 5 :(得分:0)
其他人已经指出你的= / ==拼写错误。
但是不是所有if / then / elseif,而是使用DRY方法:
targetId = this.id + clickCount;
addOrders();
请注意,在使用jQuery时不需要使用event.target
,它会将this
绑定到所有事件处理程序中的目标元素。
我还建议不要设置全局变量,而是将targetId
作为参数传递给addOrders
。