我有一个像这样的链接映射的图像(在PHP中生成):
<map name="map_bc-03" id="map_bc-03">
<area shape="circle" coords="166,28,12" href="#" onClick="changeCount('plus','bc-03');">
<area shape="circle" coords="166,82,11" href="#" onClick="changeCount('minus','bc-03');">
</map>
我正在尝试触发一个名为changeCount(type,product)
的JS函数。
JS函数的目的是获取HTML元素(<span>
)的当前值并向其添加1(x + 1)。 JS函数看起来像:
function changeCount(type,product)
{
if ( type == "plus" )
{
$("#count_" + product).val() = $("count_" + product).val() + 1;
}
}
问题是1 / JS函数没有被错误消息触发&#34; ReferenceError:changeCount没有被定义&#34;,我不明白为什么显然函数被定义....
问题2 / JS函数本身导致&#34; ReferenceError:后缀操作中的左侧表达式无效&#34;错误(即使没有解雇)....
任何帮助非常感谢!
答案 0 :(得分:1)
bool
用于表单元素。对于val()
,您需要<span>
或html()
。试试这个
text()
答案 1 :(得分:1)
使用val(value);
代替val() = value;
。
重要的是,
如果目标选择器是输入或任何表单元素,则使用.val()
。
否则,如果它是div
,span
或任何其他非表单元素中的任何一个,则使用.text()
代替.val()
。因为,非表单元素没有任何值。
根据您的问题,您的目标是<span>
。所以,我认为你必须使用.text()
。
function changeCount(type,product)
{
if ( type == "plus" )
{
$('#count_'+ product).text(Number($('#count_' + product).text()) + 1);
}
}
答案 2 :(得分:0)
应该是
$("#count_" + product).val() = parseInt($("#count_" + product).val()) + 1;
&#34;#&#34;获取值时会丢失,并且应该使用parseInt。