q61777582
q61777582
2015-08-31 05:35
采纳率: 60%
浏览 2.2k

关于ajax或者js选中checkbox的问题

图片说明
图片说明
这是页面代码,请问怎么能实现我选中的复选框在我点击抽取以后选中的复选框的值不动,并且还是勾选状态,而其他未被选中的更换其他值

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • ousyuryu
    ousyuryu 2015-08-31 06:05
    已采纳
    1.修改checkbox的id设定
    <input type="checkbox" name="xuanzhong" id="xuanzhong_${ex.expertId}" value="${ex.expertId}" />
    
    2.增加jQuery处理,当然需要倒入jQuery库
    <script>
    //初期Event处理追加
    $(function(
        //为每个checkbox加上点击event处理
        $("[name='xuanzhong']").each(function(
            var $currentId = $(this).attr("id");
            $(this).click(function(){
                handleXuanzhongClickEvent($currentId);
            });
    
        ));
    ));
    
    function handleXuanzhongClickEvent($currentId) {
        $("[name='xuanzhong']").each(function(
            if ($(this).is("#"+$currentId)) {
                  //发生Event的checkbox处理
                  //自己写
            } else {
                  //发生Event以外的checkbox处理
                  if ($(this).is(":checked")) {
                      //选中的checkbox处理
                      //自己写
                  } else {
                      //未选中的checkbox处理
                      //自己写
                  }
            }
        ));
    }
    </script>
    
    
    点赞 评论
  • dcxy0
    Q544471255 2015-08-31 05:43

    首先你不能用id,因为你有多个值。
    其次,你点击抽取的时候,判断哪个checkbox是选中的,就不设置值就可以了,其它没有被选中的就可以更改值了

     $("[name='xuanzhong']").each(function() {
    
        if ($(this).attr("checked")) {
            //已经选中
    
        } else {
            //还没有选中的.在下面写你的代码
    
        }
    })
    

    方法就是上面那样,你试试

    点赞 评论
  • showbo

    ajax传递值就好了,简单起见直接导入jquery了

     <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.1.min.js"></script>
    <script>
        function checkChecked() {
            var v = $('#tableid input:checked').map(function () { return this.value }).get().join();
            if (v == '') {
                alert('没有选择任何记录!'); return false;
            }
            $.ajax({
                url: 'xxxxxx.jsp', data: { v: v }, type: 'POST', complete: function (xhr) {
                    var r = xhr.responseText;
                    alert('服务器返回内容:'+r)
                }
            });
        }
    </script>
    <input type="button" onclick="checkChecked()" id="save" value="保存" />
    

    xxxxxx.jsp
    String v=request.getParameter("v");

    点赞 评论
  • ousyuryu
    ousyuryu 2015-08-31 06:01

    没试过可能,跑不动。大概的想法是这样的。希望能作为参考

    1.修改checkbox的id设定

    2.增加jQuery处理,当然需要倒入jQuery库

    //初期Event处理追加 $(function( //为每个checkbox加上点击event处理 $("[name='xuanzhong']").each(function( var $currentId = $(this).attr("id"); $(this).click(function(){ handleXuanzhongClickEvent($currentId); }); )); )); function handleXuanzhongClickEvent($currentId) { $("[name='xuanzhong']").each(function( if ($(this).is("#"+$currentId)) { //发生Event的checkbox处理 //自己写 } else { //发生Event以外的checkbox处理 if ($(this).is(":checked")) { //选中的checkbox处理 //自己写 } else { //未选中的checkbox处理 //自己写 } } )); }
    点赞 评论

相关推荐