如何使用jquery替换option标签中的特定值

时间:2013-12-31 10:53:41

标签: javascript jquery jquery-ui

我想在下拉列表中附加文本框值,当用户可以更改文本框值时,应将现有值替换为选项标记中的更改值,而不选择我如何执行此操作

   var valuedata
   $('.txtbox1').click(function (){
       valuedata = $(this).val();
   });
   $('.txtbox1').focusout(function (){
        var data = $(this).val();
        if ($('.ddl [value ="' + valuedata + '"]').val() == valuedata) {
            alert(valuedata);    
            $('.ddl').append($("<option value=" + data + " ></option>").html(data).val(data));
        }
        else {
            $(".ddl [value='" + valuedata + "']").val(data);
        }
   });

3 个答案:

答案 0 :(得分:1)

试试这个:

$('select option:contains("old_text")').text('new_text');

要检查是否附加选项:

$("select option").each(function(i,obj){
    if($(obj).text() == "your_text"){
        console.log("yes");
    }
})

答案 1 :(得分:0)

[value $(".ddl [value='" + valuedata + "']").val(data);之前有空格可能有问题。所以,删除那个空格:

$(".ddl[value='" + valuedata + "']").val(data);

使用html而不是像这样追加:

$('.ddl').html($("<option value=" + data + " ></option>")

答案 2 :(得分:0)

DEMO: http://jsfiddle.net/c2Ry8/

    $(document).ready(function() {
        $('.txtbox1').focusout(function (){
            var data = $(this).val();
            $('.ddl').append("<option value=" + data + " >"+data+"</option>");
            });
    });