javascript - 在 IF 语句中执行 jquery 函数?

标签 javascript jquery

我正在尝试在 IF 语句中执行 jquery 函数。

基本上,我正在获取选择选项的值,如果所选选项的值是我想要的(本例中为htl),那么我想执行该函数!

但是当我将代码包装在 IF 语句中时,我收到语法错误,我不知道是什么导致了该问题。

这是我的整个代码:

var ascending = false;
$('.page_navigation .sortBy').change(function () {    
    var vals = $(this).val();
    if (vals == "htl") {    
        ///// I need to put the code bellow here    
    }
    var sorted = $('.mypro').sort(function (a, b) {
        return (ascending == (convertToNumber($(a).find('.prod-price').html()) < 
                  convertToNumber($(b).find('.prod-price').html()))) ? 1 : -1;
    });
    ascending = ascending ? false : true;

    $('#myCont').html(sorted);
});
var convertToNumber = function (value) {
    return parseFloat(value.replace('£', ''));
}

有人可以就这个问题提出建议吗?

我尝试了这个,但出现语法错误:

var ascending = false;

$('.page_navigation .sortBy').change(function(){

    var vals = $(this).val();
    if(vals == "htl") {


    var sorted = $('.mypro').sort(function(a,b){
        return (ascending ==
               (convertToNumber($(a).find('.prod-price').html()) < 
                convertToNumber($(b).find('.prod-price').html()))) ? 1 : -1;
    });
    ascending = ascending ? false : true;

    $('#myCont').html(sorted);
});
var convertToNumber = function(value){
     return parseFloat(value.replace('£',''));
}
}

最佳答案

您关闭了 if 错误。您需要将(if 语句的)右大括号放在函数调用内,因此:

var ascending = false;

$('.page_navigation .sortBy').change(function(){

    var vals = $(this).val();
    //closing brace matches this opening one
    if(vals == "htl") {    
          var sorted = $('.mypro').sort(function(a,b){
          return (ascending ==
               (convertToNumber($(a).find('.prod-price').html()) < 
                convertToNumber($(b).find('.prod-price').html()))) ? 1 : -1;
       });
       ascending = ascending ? false : true;

       $('#myCont').html(sorted);
   //put the brace inside the function...i.e. close the if brace
   }
});
var convertToNumber = function(value){
     return parseFloat(value.replace('£',''));
}

错误的位是:

var convertToNumber = function(value){
     return parseFloat(value.replace('£',''));
//WHY's this brace here!
}
}

关于javascript - 在 IF 语句中执行 jquery 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31473855/

相关文章:

javascript - react-datepicker,默认显示monthsShown的问题

javascript - NodeJS 使用另一个文件中的类

javascript - jquery ajax获取返回值

javascript - HTML 移动移相器到容器 div

jquery - CSS 选择下一个具有类的元素

javascript - 如何在用户在文本框中键入内容时启用其他控件,并在删除或文本框为空时禁用其他控件?

javascript - 如何在打开之前从 react-native 打开 Gmail 并传递照片

c# - 如何在 MVC 中的 Ajax 发布后刷新我的局部 View ?

javascript - 在for循环中添加innerHTML以生成列表

jquery - 使图像适合液体父级