2013-03-21 18 views
0

我需要在mootools中創建函數。 OnChange一些複選框我需要設置邊框圖像,並在隱藏輸入中設置新值。這個新值必須是所選圖像的名稱。更改隱藏的輸入onChange複選框

jsFiddle Example

HTML

<form> 
    <div class="img_container"> 
     <img src="http://ynternet.sk/test/bg_1.png" /><br /> 
     <input type="checkbox" name="bg_1.jpg" id="__chbx" /> 
    </div> 
    <div class="img_container"> 
    <img src="http://ynternet.sk/test/bg_2.png" /><br /> 
    <input type="checkbox" name="bg_2.jpg" id="__chbx" /> 
    </div> 
    <div class="img_container"> 
     <img src="http://ynternet.sk/test/bg_3.png" /><br /> 
     <input type="checkbox" name="bg_2.jpg" id="__chbx" /> 
    </div> 

<input type="hidden" value="" name="selected_img"> 

CSS

.img_container { 
    padding:5px; 
    display:inline-block; 
} 

回答

1

jsFiddle

var checks = document.getElements('input[type="checkbox"]'); 
var hidden = document.getElements('input[type="hidden"]')[0]; 
checks.addEvent('change',function(e){ 
    var checkbox = e.target; 
    var img = checkbox.getPrevious('img'); 
    var img_name = checkbox.get('name'); 

    var checked = checkbox.get('checked'); 
    if(checked){ 
    img.setStyle('border','1px solid red'); 
    hidden.set('value',img_name); 
    } 
    else{ 
    img.setStyle('border',null); 
    } 
}); 
+0

謝謝你,它的偉大工程......但我有更多的動態添加隱藏我nputs。如何使這個函數僅適用於名稱爲「selected_img」的隱藏輸入? http://jsfiddle.net/ynternet/pfJYh/4 – Patrik 2013-03-21 18:16:05

+1

var hidden = document.getElements('input [type =「hidden」] [name =「selected_img」]')[0]; – Adidi 2013-03-21 18:18:18

+0

另一個問題...... :) 當我已經有這個隱藏的輸入值?這個值是字符串,包含所有圖像名稱......當我選擇/取消選擇某個chceckbox時,我需要在隱藏輸入中添加/刪除該字符串中的圖像名稱。 http://jsfiddle.net/ynternet/pfJYh/5/ – Patrik 2013-03-21 19:45:01