使用Ajax后jQuery代码不起作用,然后运行良好 - Checkbox

时间:2016-03-01 18:29:33

标签: javascript php jquery html ajax

在开始更改复选框时,它会将值发送到另一个TextArea,但在同一页面上的另一个组合使用Ajax之后,“CheckAll”代码可以工作,但是单独的检查/取消选中代码不会向textarea发送值。请帮助,谢谢。

<script type="text/javascript">     // Add 'usr_id's into textarea
async:true;
$(function() {
    $('input').on('change', function() {
        //alert("Akhtar");
        var values = [];
        $('input:checked').each(function() {

            //values.push($(this).parent().text());     //To catch the 'Text' mentioned in <label> tag
            values.push($(this).attr( "value" ));       //To catch the 'Values' of <input> tag
        //  values.push($(this).val());
        });
        $('[name="usr_id"]').val(values.join(','));
    });
});
</script>

<script type="text/javascript">     // check/uncheck All-Checkboxes

$("#checkAll").change(function () {
    $("input:checkbox").prop('checked', $(this).prop("checked"));
});

</script>

<script type="text/javascript">     // Ajax: Selects 'Type-Names' list dynamically as per 'Employee Type' selected
function loadDoc(htmldiv, contentfile) {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (xhttp.readyState == 4 && xhttp.status == 200) {
      document.getElementById(htmldiv).innerHTML = xhttp.responseText;
    }
  };
  xhttp.open("GET", contentfile, true);
  xhttp.send();
}
function getTypeList(type_check){
    var emp_type=type_check;
    //alert("fsd"+type_check);
    loadDoc('type_id','new_messaging1.php?emp_type='+emp_type);
}
function getUserList(type_check){
    var type_id=type_check;
    var emp_type = document.getElementById('employee_type').value;
    //alert(emp_type);
    loadDoc('usr_list','new_messaging2.php?emp_type='+emp_type+'&type_id='+type_id);
}
</script>

<script type="text/javascript">     // check if a 'User/Msg' mentioned (this is also a code-set for checking that the specific text-box is not empty.
function ValidateRequiredFields()
{
    var message = new String('\n-------------------------------------------------\n');
    var flag=new Boolean(1);

    var x = document.getElementById('msg_text').value;
    var y = document.getElementById('usr_id').value;
    //alert(x+' - '+y);

    message += '   CHECK YOUR VALUES...!';
    message += '\n   No \'message\' typed or no \'user\' selected.';
    message += '\n-------------------------------------------------\n';

    if (x==null || x=="" || y==null || y==""){
        //message += '\n------------------------------------------\n';
        //message += '\nNo \'message\' typed or no \'user\' selected.\n\n\n';
        flag = new Boolean(0);
    }

    if (flag == false){
        if(event.preventDefault){
            event.preventDefault();
        }else{
            event.returnValue = false; // for IE as dont support preventDefault;
        }
        alert(message);
    }

    return flag;
}
</script>

<?php   //The file that is accessed by Ajax
    session_start();
    $flddirectorypath="../";
    include_once("../adminclude/adminc.php");

    $emp_type = $_GET['emp_type'];
    $type_id = $_GET['type_id'];

    $records=$users->selectUsers_Specific($emp_type, $type_id);
    //$records=$users->fillCombo_MyUsers($emp_type, $type_id);

    foreach($records as $record){
                    //$ids=$record["comp_id"];
                    $arrKeys = array_keys($record);
                    $ids=$record[$arrKeys[0]];
?>
                    <label><input type="checkbox" name="usrs" value="<?php echo $ids;?>" /><?php echo $record['usr_fullname'];?></label><br />
                <?php } ?>

在此处编辑:

我使用的是jQuery版本:jquery-1.12.0

评论中给出的解决方案的链接或标记为重复的某些链接的人,都不能解决我的问题。

请提供直接修改后的代码。我没有太多的知识如何让jQuery自己修改代码。请告诉我在“onchange”复选框的代码中应该在哪里以及应该做些什么更改。

非常感谢支持者......

0 个答案:

没有答案