代码之家  ›  专栏  ›  技术社区  ›  Scott

动态更改选择值

  •  7
  • Scott  · 技术社区  · 14 年前

    .change() . 以下是我所拥有的:

    $("select").change(function () {
       var str = "";
       str = $("select option:selected").text();
    
       $(".out").text(str);
    }).trigger('change');
    

    (当然,这不起作用,将所有的select值放在每个跨度中。)

    <select name="animal[]">
        <option value="dog">dog</option>
        <option value="cat">cat</option>
        <option value="bird">bird</option>
        <option value="snake">snake</option>
    </select>
    <span class="out"></span>
    

    我错过了什么?

    5 回复  |  直到 10 年前
        1
  •  16
  •   Ken Redler    14 年前

    $("select").change(function () {
       var txt = $(this).val();
       $(this).next('span.out').text(txt);
    }).trigger('change');​
    
        2
  •  3
  •   James    14 年前

    试试这个:

    $("select").each(function(){
    
        var select = $(this),
            out = select.next();
    
        select.change(function () {
            out.text(select.val());
        });
    
    }).trigger('change');
    
        3
  •  1
  •   Peter Mortensen Pieter Jan Bonestroo    12 年前

    试试这个:

    $("select").change(function () { 
       var str = ""; 
       str = $(this).find(":selected").text(); 
    
       $(".out").text(str); 
    }).trigger('change'); 
    
        4
  •  0
  •   epascarello    14 年前
        5
  •  0
  •   Peter Mortensen Pieter Jan Bonestroo    12 年前

    $(this) 在事件回调中。试着换线

    str = $("select option:selected").text();
    

    str = $(this).find("option:selected").text();