Skip to content

Instantly share code, notes, and snippets.

@djalmaaraujo
Created February 5, 2013 18:44
Show Gist options
  • Save djalmaaraujo/4716629 to your computer and use it in GitHub Desktop.
Save djalmaaraujo/4716629 to your computer and use it in GitHub Desktop.
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title>Tadashi gostosinho</title>
</head>
<body>
<div id="global_div">
<div class="row">
<select name="selectY" id="X1" class="aui-field-select">
<option value="value1">Option1</option>
<option value="value1">Option1</option>
<option value="value1">Option1</option>
<option value="value1">Option1</option>
<option value="value1">Option1</option>
<option value="value1">Option1</option>
</select>
</div>
<div class="row">
<select name="selectx" id="X2" class="aui-field-select">
<option value="value1">Option1</option>
<option value="value1">Option1</option>
<option value="value1">Option1</option>
<option value="value1">Option1</option>
<option value="value1">Option1</option>
<option value="value1">Option1</option>
</select>
</div>
</div>
<button id="add">Add</button>
<button id="rem">Rem</button>
<script src="http://cdn.alloyui.com/2.0.0pr1/aui/aui-min.js"></script>
<script type="text/javascript">
var options = [
{id: 2, name: "Tadashi"},
{id: 3, name: "Djalma"},
{id: 4, name: "Tulio"},
{id: 5, name: "Antonio"}
];
YUI().use('aui-carousel', function(Y) {
// O DELEGATE FUNCIONA COMO O .ON() SO QUE ELE APLICA O EVENTO NO PAI, E FAZ UM BUBBLE PARA O FILHO, ASSIM, NAO IPORTA SE O SELECT EH NOVO OU NAO NA DOM, SEMPRE VAI PEGAR O BIND DO EVENTO CHANGE
Y.one('#global_div').delegate('change', function (event) {
var currentSelect = event.currentTarget;
var selectOptions = [];
Y.each(
options,
function(item, index, collection) {
var key = item.id;
var value = item.name;
selectOptions.push('<option value="' + key + '">' + value + '</option>');
}
);
currentSelect.set('innerHTML', selectOptions);
}, '.aui-field-select');
// aqui nao tem haver com o ex, só simulando o repeat
Y.one("#add").on('click', function () {
var newRow = Y.one('.row').cloneNode(true);
newRow.set('id', newRow._yuid);
console.log(newRow);
Y.one('#global_div').append(newRow);
})
});
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment