0

破演示:http: //jsfiddle.net/sTzCS/52/

如果您使用小提琴,您应该能够将列表中的团队拖放到新的顺序中。您还可以输入一个值来表示您认为每支球队将在本赛季中获得的分数。jQuery 在您完成重新排列后读取排序顺序,并尝试获取每个团队的输入值。

小提琴中的警报(我为测试目的创建的)应该向团队展示您放在首位的团队以及您希望他们获得的积分数量。但是,警报没有触发。jLint 说代码是有效的。我正在使用警报来确保我实际上得到了正确的值。你能解释为什么警报不起作用吗?

<form<form id="new_entry">

<ul id="sortlist">

        <li id="Vancouver">Canucks<input type="text" name="name" id="vanpoints"></li>
        <li id="Toronto">Toronto<input type="text" name="name" id="torontopoints"></li>
        <li id="Montreal">Montreal<input type="text" name="name" id="montrealpoints"></li>
        <li id="Ottawa">Ottawa<input type="text" name="name" id="ottawapoints"></li>
        <li id="Calgary">Calgary<input type="text" name="name" id="calgarypoints"></li>
        <li id="Edmonton">Edmonton<input type="text" name="name" id="edmontonpoints"></li>
        <li id="Winnipeg">Winnipeg<input type="text" name="name" id="winnipegpoints"></li>
</ul>
<input type="submit" value="Add">
</form>

jQuery

$("#sortlist").sortable({
    stop: function(event, ui) {
        result = $("#sortlist").sortable("toArray");
        var attributes;
        attributes = {
            first: { team: result[0].id, value: result[0].children()[0].val() },
       second : { team: result[1].id, value: result[1].children()[0].val() },
        third: { team: result[2].id, value: result[2].children()[0].val() },
        fourth: { team: result[3].id, value: result[3].children()[0].val() },
        fifth: { team: result[4].id, value: result[4].children()[0].val() },
        sixth: { team: result[5].id, value: result[5].children()[0].val() },
        seventh: { team: result[6].id, value: result[6].children()[0].val() }
        };

        alert(attributes.first.team + attributes.first.value);
    }
});
4

1 回答 1

1

$("#sortlist").sortable("toArray")返回一个可排序项目的 id 数组,它是一个字符串数组。

字符串没有id属性和children方法。

于 2012-09-16T05:40:52.220 回答