jQuery для выбора элементов параметра по значению
у меня есть элемент select, обернутый элементом span. Я не могу использовать select id, но мне разрешено использовать span id.
Я пытаюсь написать функцию javascript / jquery, в которой вход-это число i, которое является одним из значений параметров select. Функция превратит соответствующую опцию в выбранную.
<span id="span_id">
<select id="h273yrjdfhgsfyiruwyiywer" multiple="multiple">
<option value="1">cleaning</option>
<option value="2">food-2</option>
<option value="3">toilet</option>
<option value="4">baby</option>
<option value="6">knick-knacks</option>
<option value="9">junk-2</option>
<option value="10">cosmetics</option>
</select>
</span>
Я написал что-то следующим образом (это не полностью работает, поэтому я публикую это вопрос):
function select_option(i) {
options = $('#span_id').children('select').children('option');
//alert(options.length); //7
//alert(options[0]); //[object HTMLOptionElement]
//alert(options[0].val()); //not a jquery element
//alert(options[0].value); //1
//the following does not seem to work since the elements of options are DOM ones not jquery's
option = options.find("[value='" + i + "']");
//alert(option.attr("value")); //undefined
option.attr('selected', 'selected');
}
спасибо!
8 ответов:
вот самое простое решение с понятным селектора:
function select_option(i) { return $('span#span_id select option[value="' + i + '"]').html(); }
просто оберните свой вариант в $(option), чтобы он действовал так, как вы хотите. Вы также можете сделать код короче делаю
$('#span_id > select > option[value="input your i here"]').attr("selected", "selected")
С jQuery > 1.6.1 лучше использовать такой синтаксис:
$('#span_id select option[value="' + some_value + '"]').prop('selected', true);
options = $("#span_id>select>option[value='"+i+"']"); option = options.text(); alert(option);вот скрипка http://jsfiddle.net/hRFYF/
чтобы получить значение просто используйте это:
<select id ="ari_select" onchange = "getvalue()"> <option value = "1"></option> <option value = "2"></option> <option value = "3"></option> <option value = "4"></option> </select> <script> function getvalue() { alert($("#ari_select option:selected").val()); } </script>это принесет значения
вы можете использовать .val () для выбора значения, например:
function select_option(i) { $("#span_id select").val(i); }вот jsfiddle:https://jsfiddle.net/tweissin/uscq42xh/8/
function select_option(index) { var optwewant; for (opts in $('#span_id').children('select')) { if (opts.value() = index) { optwewant = opts; break; } } alert (optwewant); }
Comments