2013-03-11 77 views
0

我一直在使用這個(和它的工作/工作)與一個普通的網頁,但當我嘗試附加Jquery(v1.9.1 + jQuery的移動1.2 .0 - 對於按鈕樣式和其他功能),它似乎選擇正確的對象(運行console.log查看在數組中抓取哪個項目),但它不會更新頁面中的複選框(使其被選中)儘管返回了「真實」的值。它也做了同樣的事情時,我只是做基礎我的jsfiddle這裏:http://jsfiddle.net/artcase_1/6sasA/2/JavaScript的複選框:使用按鈕來更改組來檢查

function checkUncheck(name, setTo) { 


    var c = document.getElementsByName(name); 

    for (var i = 0; i < c.length; i++) { 

     if (c[i].type == 'checkbox' || c[i].checked == 'false') { 

      c[i].checked = setTo; 
     } 
    } 
} 

<!-- in the body: --> 
<div data-role="fieldcontain"> 
    <fieldset data-role="controlgroup" data-type="horizontal"> 
     <legend>choose a level to view</legend> 
     <input name="colors" type="checkbox" class="custom" 
     id="redbtn" value="red" checked="checked" /> 
     <label for="redbtn">High</label> 
     <input name="colors" type="checkbox" class="custom" id="yellowbtn" 
     value="yellow" /> 
     <label for="yellowbtn">Med</label> 
     <input name="colors" type="checkbox" class="custom" id="bluebtn" 
     value="blue" /> 
     <label for="bluebtn">Low</label> 
    </fieldset> 
</div> 
<input name="Show_all_btn" type="button" id="showall" onclick="checkUncheck('colors','true')" 
value="check all" /> 
+1

你剛剛設置了錯誤的小提琴,改變的onLoad,以NOWRAP體和它的作品 - > [** ** FIDDLE(HTTP://的jsfiddle。 net/adeneo/6sasA/4 /) – adeneo 2013-03-11 19:04:33

+0

有什麼區別? – artcase 2013-03-11 21:05:17

回答

1

我建議你從你的HTML分離你的JavaScript所以這將是您的更新JS會是這樣的:

var check_all = document.getElementById('showall'); 

function checkUncheck(name, setTo) { 


var c = document.getElementsByName(name); 

for (var i = 0; i < c.length; i++) { 

    if (c[i].type == 'checkbox' || c[i].checked == 'false') { 

     c[i].checked = setTo; 
    } 
} 

} 
check_all.addEventListener('click', checkUncheck.bind(null, 'colors', true), false); 

這裏有一個演示Fiddle

+0

我從來沒有使用綁定之前,從上面的代碼示例,它似乎添加一個初始變量到回調集,右(0:null,1:「color」,2:true)還是我錯過了什麼? – artcase 2013-03-11 21:01:56

+0

- 此外,checkUncheck在另一個更多功能的內部被調用,它不是用戶單擊時發生的唯一事情。所以我不知道如何將它綁定到click事件監聽器。添加多個功能到這樣的事情可以嗎? (我是新人,來自平面藝術背景,請原諒......) – artcase 2013-03-11 21:09:22

相關問題