如何将jquery变量赋给json对象值

时间:2015-06-18 06:53:38

标签: javascript jquery json

在此代码中,当我将courseid分配给defaultValue => defaultValue: courseid并与defaultValue: batchid相同但我的数据库中需要null

$(document).ready(function() {
    var courseid = null;
    var batchid = null;

    $(document).ready(function() {
        $('#batch').change(function(event) {
            courseid = $("select#course").val();      
            batchid = $("select#batch").val();
            alert(courseid + "  " + batchid);
        });
    });

    $('#SubjectTableContainer').jtable({
        title : 'Students List',
        actions : {
            listAction : 'subjectList',
            deleteAction: 'deleteSubject',
            updateAction: 'updateSubject',
            createAction: 'createSubject'
        },
        fields : {
            course_Id : {
                type: 'hidden',
                defaultValue: courseid      
            },
            batch_Id : {
                type: 'hidden',
                defaultValue: batchid
            },

1 个答案:

答案 0 :(得分:0)

您仅在更改时分配变量,因此初始值为null,您需要先获取初始值,然后调用jtable。

$(document).ready(function() {
    var courseid = null;
    var batchid = null;

    $('#batch').change(function(event) {
        courseid = $("select#course").val();      
        batchid = $("select#batch").val();
        alert(courseid + "  " + batchid);

    $('#SubjectTableContainer').jtable({
        title : 'Students List',
        actions : {
            listAction : 'subjectList',
            deleteAction: 'deleteSubject',
            updateAction: 'updateSubject',
            createAction: 'createSubject'
        },
        fields : {
            course_Id : {
                type: 'hidden',
                defaultValue: courseid      
            },
            batch_Id : {
                type: 'hidden',
                defaultValue: batchid
            },
            ...
    });

更新代码

<script type="text/javascript">
$(document).ready(function() {
var courseid;
var batchid;
    $('#batch').change(function(event) {
        courseid = $("select#course").val();      
        batchid = $("select#batch").val();   
    $('#SubjectTableContainer').jtable({
        title : 'Students List',
         actions : {
            listAction : 'subjectList',
            deleteAction: 'deleteSubject',
            updateAction: 'updateSubject',
            createAction: 'createSubject'
        },
        fields : {
            course_Id : {
             type: 'hidden',
             defaultValue: courseid     
            },
            batch_Id : {
                 type: 'hidden',
                 defaultValue: batchid
                },
            subjectId : {
                title : 'Subject Id',
                width : '40%',
                key : true,
                list : true,
                create : true
            },
            subjectName : {
                title : 'Subject Name',
                width : '40%',
                edit : true
            },
            maxClasses : {
                title : 'Maximum weekly classes',
                width : '40%',
                edit : true
            }
        },
         //Initialize validation logic when a form is created
        formCreated: function (event, data) {
                             `enter code heredata.form.find('input[name="subjectId"]').addClass('validate[required]');
            `enter code here`data.form.find('input[name="subjectName"]').addClass('validate[required]');
            data.form.validationEngine();
        },
        //Validate form when it is being submitted
        formSubmitting: function (event, data) {
            return data.form.validationEngine('validate');
        },
        //Dispose validation logic when form is closed
        formClosed: function (event, data) {
            data.form.validationEngine('hide');
            data.form.validationEngine('detach');
        }
  }); 
    $('#SubjectTableContainer').jtable('load')   

});     
  });