javascript
  • jquery
  • 2010-07-23 176 views 2 likes 
    2

    我想設置選擇選項回到「選擇」每次我完成添加一個新行。我怎麼能在這裏做?請幫忙。順便說一句,添加新的行(s)工作得很好。以下是我到目前爲止有:設置選擇選項回到默認選擇

    $(document).ready(function() { 
        $('#Add-btn').live('click',function() { 
         $("#tabName tr:last").before("<tr><td class='greyed'><input type='hidden' name='allele' value='" + a + "'>" + a + "</td><td><input type='button' class='delete' value='Remove'></td></tr>"); 
        }); 
    }); 
    

    HTML:

    $("#a").val('None'); 
    

    總評:

    <table id="tabName"> 
    ... 
    <select size='1' id="a" name='a'> 
        <option value="None" selected>choices</option> 
        <option value='1'>first</option> 
        <option value='2'>second</option> 
    </select> 
    ... 
    </table> 
    <div> 
        <input id="Add-btn" class="button" type="button" value="Add" /> 
        <span></span> 
    </div> 
    

    回答

    4

    您可以通過使用.val(value)設置的值,這樣的設置回它看起來像這樣:

    $(document).ready(function() { 
        $('#Add-btn').live('click',function() { 
        $("#tabName tr:last").before("<tr><td class='greyed'><input type='hidden' name='allele' value='" + a + "'>" + a + "</td><td><input type='button' class='delete' value='Remove'></td></tr>"); 
        $("#a").val('None'); 
        }); 
    }); 
    
    +0

    真棒!這很簡單,而且很有效。謝謝。 – DGT 2010-07-23 00:53:12

    2

    他再是一個通用的辦法,將允許你重新設置了一些值:

    jQuery的

    $(document).ready(function(){ 
        var DefaultValuesElements=$(":input").not("#resetvalues"); // The elements you want to reset (in this example, all input values, except for the button with the ID resetvalues 
    
        function getDefaultValues() { 
        DefaultValuesElements.each(function() { // Loop through the elements you want default for 
         $(this).attr("defaultvalue",$(this).val()); // Grab the value and save them into a custom attribute ("defaultvalue") 
        }); 
        } 
    
        function setDefaultValues() { 
        DefaultValuesElements.each(function() { // Loop through the elements you want to reset the values for 
         $(this).val($(this).attr("defaultvalue")); // Overwrite the current value with the saved default value 
        }); 
        } 
    
        getDefaultValues(); // Grab the values 
    
        $("#resetvalues").click(function() { // Belongs to the example below. Whenever the button is pressed... 
        setDefaultValues(); // Reset the elements to their default values. 
        }); 
    }); 
    

    你可以把setDefaultValues()代碼click功能裏面,但我把它和在getDefaultValues()代碼功能使其更加明顯。

    HTML(例如)

    <select size='1' id="a" name='a'> 
    <option value="None" selected>choices</option> 
    <option value='1'>first</option> 
    <option value='2'>second</option> 
    </select> 
    
    <input type="input" name="whatever" value="test"> 
    
    <input type="button" id="resetvalues" value="Reset values"> 
    

    code in action此。

    0

    我知道這已經被回答了,但我只是想爲像我這樣的類似用例作出貢獻,當用戶按下esc時,我想將默認值放回到選擇框中。這也可以防止選擇元素的.change事件觸發。

    因此,基於這裏here提出的觀點,這是另外一個不錯的答案:

    var KEYCODE_ESC = 27; 
    // when esc is pressed while scrolling through the options 
    // reset value of select to default (first) value 
    $('select').keyup(function(e) { 
        if (e.keyCode == KEYCODE_ESC) { 
         console.log('esc key pressed on select element'); 
         $(this).val($(this).children('option:first-child').text()); 
        } 
    }); 
    
    相關問題