如何解决回调问题-jQuery
| 我正在使用此插件。一切正常,但是现在我需要进行更改。 回调始终是最后一个条件-else
,为什么?
例如,这种情况永远不会起作用。有语法错误吗?
($(\"#amount\").val(value) == 400)
脚本
<script type=\"text/javascript\" charset=\"utf-8\">
jQuery(\"#SliderSingle\").slider({
from: 400,to: 2000,step: 200,round: 1,dimension: \' €\',scale: [\'-400€\',\'600€\',\'800€\',\'1000€\',\'1200€\',\'1400€\',\'1600€\',\'1800€\',\'+2000€\'],callback: function(value) {
if ($(\"#amount\").val(value) == 400) { //not working
alert(\"nop\");
$(html(\"-400 sdf\"));
}
else if ($(\"#amount\").val(value) == 2000) { //not working
alert(\"nopp\");
$(html(\"+2000 dfs\"));
} else {
$(html(value)); //always working even if the value chosen is 400 or 2000
}
}
});
</script>
解决方法
看起来您想要这样:
function(value) {
if (value == 400) {
alert(\"nop\");
$(html(\"-400 sdf\"));
}
else if (value == 2000) {
alert(\"nopp\");
$(html(\"+2000 dfs\"));
} else {
$(html(value)); //always working even if the value chosen is 400 or 2000
}
}
尽管$(html(\"-400 sdf\"));
不起作用。除非您已定义html()
函数
, 这是因为您正在执行以下操作:
if ($(\"#amount\").val(value) == 400)
执行.val()会返回数量元素,而不是您刚刚设置的值。
您可以这样做:
if ($(\"#amount\").val(value).val() == 400)
, 尝试这个:
($(\"#amount\").val() == 400)
与
$(\"#amount\").val(value)
您将#amount的值设置为变量\“ value \”,它将再次返回元素#amount。
要在一行中完成,可以使用以下命令:
($(\"#amount\").val(value).val() == 400)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。