我正在使用jquery-ui selectable,我选择多个div,例如:divs 1-3和divs 5-6 在选择之后我将div的信息传递给一个数组然后再传给一个数组string(strToSend)。问题是:当我选择div 1-3和div 5-6时,我得到这个信息:
对于div 1-3 :100,200,300。
对于div 5-6 :100,200,300,400,500,600。 - >我真正需要的是:500,600。首先我认为我需要在每个循环中清除我的数组,所以我尝试了:_info1.length = 0; _info1 = [];
- 没有变化。
我希望我的问题很清楚,请提出想法做什么?..
// HTML
<div class="ui-selectable" id="day" style="width: 100px; float: left;">
Sunday
<div class="ui-selectee" id="1" >100 </div>
<div class="ui-selectee" id="2" > 200 </div>
<div class="ui-selectee" id="3" > 300 </div>
<div class="ui-selectee" id="4" > 400 </div>
<div class="ui-selectee" id="5"> 500 </div>
<div class="ui-selectee" id="6"> 600 </div>
<div class="ui-selectee" id="7"> 700 </div>
</div>
// Jquery的
$(function () {
$("#day").bind("mousedown", function (event) {
return event.metaKey = true;
}).selectable({
stop: function () {
_info1.push(0);
$(".ui-selected", this).each(function () {
var id = this.id;
_info1.push(id);
});
strToSend += _info1[0] + "_" + _info1[1] + "-" + _info1[_info1.length - 1] + "*";
}
});});
答案 0 :(得分:0)
这是一个小提琴:http://jsfiddle.net/tS2cV/
不确定您在哪里宣布_info1,但看起来您只是想让它保留您选择的div。您的每个功能(下方)都会通过并抓取所有已选择的div,因此您不必事先手动将任何内容推入其中。
我所做的就是在stop函数中声明_info - 我确定你要对要发送的字符串做什么,所以我为了简单起见删除了它:
$(function () {
$("#day").bind("mousedown", function (event) {
return event.metaKey = true;
}).selectable({
stop: function () {
var _info1 = [];
$(".ui-selected", this).each(function () {
var id = this.id;
_info1.push(id);
});
alert(_info1);
}
});});