Как удалить элементы из массива, связанного с данными? Далее следует мой код.Удаление элементов из привязанного к данным массива
for(var i = 0; i < listBox.selectedIndices.length; i++) {
var toRemove = listFiles.selectedIndices[i];
dataArray.splice(toRemove, 1);
}
Заранее благодарен!
Редактировать Вот мой swf. Действие «Добавить фотографии» выполняется, только если вы удаляете элементы. http://www.3rdshooter.com/Content/Flash/PhotoUploader.html
- Добавить 3 фотографии разные.
- Удалить вторую фотографию.
- Добавить другое фото.
- SWF добавляет вторую фотографию в конец.
Любые идеи о том, почему это будет сделано?
Edit 2 Вот мой код
private function OnSelectFileRefList(e:Event):void
{
Alert.show('addstart:' + arrayQueue.length);
for each (var f:FileReference in fileRefList.fileList)
{
var lid:ListItemData = new ListItemData();
lid.fileRef = f;
arrayQueue[arrayQueue.length]=lid;
}
Alert.show('addcomplete:' + arrayQueue.length);
listFiles.executeBindings();
Alert.show(ListItemData(arrayQueue[arrayQueue.length-1]).fileRef.name);
PushStatus('Added ' + fileRefList.fileList.length.toString() + ' photo(s) to queue!');
fileRefList.fileList.length = 0;
buttonUpload.enabled = (arrayQueue.length > 0);
}
private function OnButtonRemoveClicked(e:Event):void
{
for(var i:Number = 0; i < listFiles.selectedIndices.length; i++) {
var toRemove:Number = listFiles.selectedIndices[i];
//Alert.show(toRemove.toString());
arrayQueue.splice(toRemove, 1);
}
listFiles.executeBindings();
Alert.show('removecomplete:' + arrayQueue.length);
PushStatus('Removed photos from queue.');
buttonRemove.enabled = (listFiles.selectedItems.length > 0);
buttonUpload.enabled = (arrayQueue.length > 0);
}
Что случилось с код, который вы используете? Не работает ли «сращивание» для вас? – James
Кажется, нет. Когда я добавляю другой элемент в список, я получаю предыдущий элемент. –
Обновлено мой ответ –