source

j값별 옵션 요소 선택 쿼리

nicesource 2023. 9. 16. 09:29
반응형

j값별 옵션 요소 선택 쿼리

스판 요소로 감싸진 셀렉트 요소가 있습니다.select id는 사용할 수 없지만 span id는 사용할 수 있습니다.select 옵션의 값 중 하나인 숫자 i가 입력되는 javascript/jquery 함수를 작성하려고 합니다.이 기능은 관련 옵션을 선택한 것으로 바꿉니다.

<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');

}

감사합니다!

선택기가 명확한 가장 간단한 솔루션은 다음과 같습니다.

function select_option(i) {
  return $('span#span_id select option[value="' + i + '"]').html();
}

jQuery > 1.6.1에서는 다음 구문을 사용하는 것이 좋습니다.

$('#span_id select option[value="' + some_value + '"]').prop('selected', true);

$(옵션)으로 옵션을 포장하면 원하는 대로 사용할 수 있습니다.코드를 짧게 할 수도 있습니다.

$('#span_id > select > option[value="input your i here"]').attr("selected", "selected")
options = $("#span_id>select>option[value='"+i+"']");
option = options.text();
alert(option); 

이것은 http://jsfiddle.net/hRFYF/ 의 fiddle입니다.

다음과 같이 .val()을 사용하여 값을 선택할 수 있습니다.

function select_option(i) {
    $("#span_id select").val(i);
}

jsfiddle https://jsfiddle.net/tweissin/uscq42xh/8/ 입니다.

값을 얻으려면 다음을 사용합니다.

<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>

값을 가져올 것입니다.

function select_option(index)
{
    var optwewant;
    for (opts in $('#span_id').children('select'))
    {
        if (opts.value() = index)
        {
            optwewant = opts;
            break;
        }
    }
    alert (optwewant);
}

간단한 자바스크립트로 변경 가능합니다.

document.querySelector('#h273yrjdfhgsfyiruwyiywer').value='4'
<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>

$("#h273yrjdfhgsfyiruwyiywer").children('[value="' + i + '"]').prop("selected", true);

언급URL : https://stackoverflow.com/questions/7290950/jquery-select-option-elements-by-value

반응형