1
<form action="/settings" method="POST">
   <ul style="list-style-type:none;margin:0;padding:0;">
        <li><input type="checkbox" class="checkbox" value="slashdot.org -- http://rss.slashdot.org/Slashdot/slashdot" checked=""><b style="padding-left:15px;">slashdot.org -- http://rss.slashdot.org/Slashdot/slashdot</b></li>
        <li><input type="checkbox" class="checkbox" value="postimees.ee -- http://www.postimees.ee/rss/" checked=""><b style="padding-left:15px;">postimees.ee -- http://www.postimees.ee/rss/</b></li>
   </ul>
   <div>
       <button class="btn submit" id="submit">Submit</button>
   </div>
   <input type="hidden" name="sources" id="sources" class="sources" value="">                
</form>
<script>
    var feedValue="";
$('form').submit(function(){
    $(".checkbox").each(function(){
        if($('this').prop('checked',true)){
            feedValue = feedValue + '+' + $('this').val();
            console.log($('this').val());
        };
    });
    $('#sources').attr('value',feedValue);
    alert("done");
});

</script>

所以现在的问题是,我正在尝试获取选中的复选框的值,并将它们全部放入一个字符串中,并以 + 字符作为分隔符。问题是 JQuery 不会替换该隐藏输入字段的值,并且即使我目前从代码中省略了该行,它也会提交表单。

有谁知道问题是什么?

编辑:通过添加 $('form').submit() 我得到结果:+undefined+undefined,即使我有这些复选框的值。

4

0 回答 0