从jquery .each函数返回确认值

时间:2011-07-19 17:33:09

标签: jquery function each confirm

我在上传文件的按钮上有一个点击处理程序。它根据预定义的值检查表的第一列的每个单元格的内容,并且仅在用户确认时继续。我可以让下面的工作,但它并不优雅。有什么建议吗?

$('#upload').click(function() {
    var proceed;
    $('#mytable tr td:first-child').each(function(a, b) {
        if ($(b).html() == 'x') {
            proceed = confirm('u sure?');
            return false;
        }
    });
    return proceed;
});

修改

我想做类似以下的事情我只是不知道正确的语法(这不起作用):

$('#upload').click(function() {
    return $('#mytable tr td:first-child').each(function(a, b) {
        if ($(b).html() == 'x') {
            return confirm('u sure?');
        }
    });
});

1 个答案:

答案 0 :(得分:1)

这是至少简化代码的一种方法

$('#upload').click(function() {
    //Get File Input Value
    var found = $('#mytable').find('tr td:first-child:contains(something)').length;
    var proceed =  found ? confirm('u sure') : true/false (depending on what you want to happen);

    return proceed;
});

这是一个jsfiddle,显示修改后的代码:http://jsfiddle.net/Akkuma/R5Mzt/(更新为更准确)

我刚刚在IE7,IE9和Chrome中进行了快速测试,发现输入的文件值足够独特,无法遇到包含问题。两者都输出C:\ fakepath \ nameoffile.png。