选中复选框时更改列表元素的颜色

时间:2014-04-28 09:23:22

标签: javascript jquery checkbox

对,所以我有一个表单,这个表单有各种输入框,还有一个用户可以决定检查的复选框。然后,用户可以单击表单上的提交,并将其存储在数据库中,并生成一个列表元素,其信息位于不同的页面上。

无论如何都要根据是否选中复选框来更改所生成的列表元素的颜色?

我知道有代码如:

$(":checkbox").on('click', function(){
 $(this).parent().toggleClass("checked");
});

但我不希望复选框的list元素改变颜色,如果在该表单内部选中了复选框,我希望表单的list元素改变颜色。希望有道理。有可能这样做吗?

checbox的HTML:

<li>
      <input type="checkbox" name="checkyes" id="checkyes" data-iconpos = "right">
      <label for="checkyes">Unpaid?</label>
</li>

从表格中提供的信息中生成列表元素:

db.transaction(function(transaction) {
    transaction.executeSql(
        'SELECT * FROM table1', [],
        function(transaction, result) {
            if (result != null && result.rows != null) {
                for (var i = 0; i < result.rows.length; i++) {
                    var row = result.rows.item(i);
                    $('#mylist').append('<li class = "inclist">'+'test'+'</li>');
                }
                $('#mylist').listview().listview('refresh');
            }
        }, 
        errorHandler
    );
}, errorHandler, nullHandler);

关于表单,复选框位于表单内。所以我想当我点击提交时,我应该以某种方式将复选框的值存储在数据库中,然后使用带有条件的select语句?

表单的HTML本身只是一系列带有输入框的列表元素。

1 个答案:

答案 0 :(得分:0)

使用更改而不是单击

$(":checkbox").on('change', function(){
 $(this).closest("desired element").toggleClass("checked");
});