Могу ли я сбросить флажок выбора, в котором я удалил параметры с Javascript / jQuery? - PullRequest
2 голосов
/ 23 января 2011

Я использую следующую команду в цикле

$("#day option:last").remove();

, и если команда выполняется 2 или 3 раза, мой selectbox не имеет некоторых опций.

Итак, янеобходимо сбросить окно выбора, как это было в начале функции.

Любая помощь?

Ответы [ 3 ]

2 голосов
/ 23 января 2011

Вы можете клонировать элемент select, прежде чем вносить какие-либо изменения:

var copy = $('#day').clone();

Позже, когда вы захотите восстановить его, просто замените текущий select на старый:

$('#day').replaceWith(copy);
1 голос
/ 23 января 2011

Я бы предложил использовать .clone () http://api.jquery.com/clone/method из jQuery, чтобы сохранить копию вашего выпадающего списка, и вы можете либо заменить список, когда вы хотите сбросить значения, либо вы можете выполнить итерациючерез значения в копии и добавьте их в существующий выпадающий список.

Вот пример использования клона в jQuery, который делает то, что я объяснил выше.

<html>
<head>
<script src="jquery.js" type="text/javascript">
</script>
<script>

$(document).ready(function(){
//clone the select list
var optionlist = $("#options").clone();

//add the remove function event handler to a link
$("#remove").click(function(){

$("#options option:last").remove();

return false; //don't refresh the page

});

// add the reset click event handler to the reset link
$("#reset").click(function(){

//replace the select list with the original clone
$("#options").replaceWith(optionlist);

//clone the new list into the original optionlist variable
optionlist = $("#options").clone;

return false; //don't refresh

});

});

</script>
</head>
<body>
<select id="options" multiple="true" >
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<a id="remove" href="#" >remove</a>
<a id="reset" href="#">reset</a>
</body>
</html>
0 голосов
/ 23 января 2011

Во-первых, я не правильно понял вопрос. Но тогда простым решением было бы использовать .hide() вместо удаления элементов и клонирования или сохранения дополнительной копии. И функция сброса будет делать .show() для option элементов.

...