在“选择”控件中更改所选选项的“值”属性

时间:2014-01-02 06:08:25

标签: javascript jquery

我正在努力实现以下结果:

有一个<select>控件。下面是textbox。我想将此文本框中输入的值分配给value控件中特定option的{​​{1}}属性。

例如: - 比如,以下是<select>下拉列表: -

<select>

<select id="anyid"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="custom">Custom</option> </select> ,然后4文本框中输入textbox,我希望onkeyup选项的value属性为{{ 1}}。 所以在此之后Custom选项将是: -

4

有什么想法吗?我更喜欢jQuery而不是Javascript。

5 个答案:

答案 0 :(得分:2)

您应该为custom选项分配一个类/ ID。

<option class="customOption" value="custom">Custom</option>

然后你可以这样做:

$('#myTextBox').on('keyup', function () {
    $('.customOption').val(this.value);
});

DEMO

答案 1 :(得分:0)

$(document).ready(function(){
     $("textbox").keyup(function(){
         var newValue =        $(this).val();
         $("option").each(function(){
             if($(this).html() == "Custom")
             {
                $(this).val(newValue);
             }    
         });

    });
});

请尝试以上代码。

答案 2 :(得分:0)

<select id="anyid">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="custom">Custom</option>
</select>
<input type="text" onkeyup="fillCustomValue(this)"/>
<script>
    function fillCustomValue(elem) {
        document.getElementById('anyid').options[document.getElementById('anyid').options.length - 1].value = elem.value;
        document.getElementById('anyid').options[document.getElementById('anyid').options.length - 1].innerHTML = elem.value;
    }
</script>

在没有jQuery的情况下试试

答案 3 :(得分:0)

试试这个

$('#va').keyup(function(){
    $('#anyid option[value=custom]').attr('value',$(this).val()) 
});

OR

$('#va').keyup(function(){
        $('#customIDofUrOption').attr('value',$(this).val()) 
    });

DEMO

答案 4 :(得分:0)

您可以使用$('#id')。val()来设置选项的值。

$(document).ready(function () {   
    $("#myInput").keyup(function () {
        $('#custom').val($("#myInput").val());
        alert($('#custom').val());
    });
}

Fiddle Link