jquery
  • arrays
  • loops
  • each
  • 2014-09-24 135 views 0 likes 
    0

    我有一個HTML表單,其中有一些複選框,它們都具有相同的類= "myClass"jQuery:如何從每個循環中獲取第一,第二和第三個元素的值

    有人能告訴我如何從這些中獲得第一,第二和第三個價值嗎? 一次只能選中三個複選框,但它也可以只有兩個,一個或沒有。

    我嘗試以下,但這不起作用:

    var check1 = 'myDefaultValue'; 
    var check2 = 'myDefaultValue'; 
    var check3 = 'myDefaultValue'; 
    var checkedBoxes = $('.myClass:checked'); 
        if(checkedBoxes.length == 1) { 
         check1 = checkedBoxes[0].val(); 
        } 
        if(checkedBoxes.length == 2) { 
         check2 = checkedBoxes[1].val(); 
        } 
        if(checkedBoxes.length == 3) { 
         check3 = checkedBoxes[2].val(); 
        } 
    

    非常感謝任何幫助,蒂姆。

    +3

    使用'$( '.myClass:checked')。each(function(){// value will this.val();})'獲得3,2或1複選框的選定值 – 2014-09-24 12:37:52

    +0

    謝謝 - 我的問題是,並不總是檢查三個框,所以我如何得到不同的值?只需添加:第一,第二,第三? – user2571510 2014-09-24 12:38:48

    +1

    當您使用括號「checkedBoxes [0]」訪問jQuery數組時,您正在檢索該位置的DOM元素。因此,之後調用'.val()'不會被識別,因爲它不再是一個jQuery對象。 – Stryner 2014-09-24 12:39:29

    回答

    1

    如果你想在3個首先檢查輸入字段,你可以用做:EQ()在jQuery選擇這樣的:

    // Get the first three values of all checked fields 
        var first = $('.myClass:checked:eq(0)').val(); 
        var second = $('.myClass:checked:eq(1)').val(); 
        var third = $('.myClass:checked:eq(2)').val(); 
    

    看到它在這裏的行動:http://jsfiddle.net/y0mwy5v8/

    +0

    這就是 - 非常感謝!我會盡快接受。 :) – user2571510 2014-09-24 12:49:34

    相關問題