Как передать значения из отдельной формы в URL вместе с JQuery?

У меня есть отдельная форма на странице php, в которой также есть плагин Jquery jtable для отображения данных из базы данных Mysql. Форма имеет выпадающие списки. я должен передать значения из этого раскрывающегося списка вместе со списком действий Jtable в URL-адресе, чтобы перечислить таблицу в соответствии с условием, выбранным из раскрывающегося списка.

   <div id="machinelog">
    <form id="intermediate" name="inputMachine" method="post">
    <select id="selectMachine" name="selectMachine"> 
        <option value="M1" >Machine 1</option>
        <option value="M2" >Machine 2</option>
        <option value="M3" >Machine 3</option>
    </select>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;


<input id="Button" class="button" type="submit" value="Submit" />
</form>  

Если я выберу «Машина 1» из раскрывающегося списка, мне нужно сделать так, чтобы jtable отображала только те строки, в которых машина есть как «Машина 1».

мне нужно получить доступ к значениям формы внутри контейнера Jtable, чтобы я мог передать эти значения в URL-адресе.

   <div id="MachineLogTableContainer" style="width: 1000px; margin-left: 254px;margin-top: -440px;position: static;"></div>
    <script type="text/javascript">

        $(document).ready(function () {
            //var s=$('#selectMachine').val();
            //alert(s);
            var machineLogMessages = {
                    addNewRecord: '+ New Machine Log'
                };

            //Prepare jTable
            $('#MachineLogTableContainer').jtable({
                messages:machineLogMessages,
                title: 'Machine Log',
                paging: true, //Enable paging
                pageSize: 10,
                actions: {
                    listAction: 'MachineLogActions.php?action=list',
                    createAction: 'MachineLogActions.php?action=create',
                    updateAction: 'MachineLogActions.php?action=update',
                    deleteAction: 'MachineLogActions.php?action=delete'
                },
                fields: {
                    event_id: {
                        key: true,
                        edit: false,
                        title: 'Event Id',
                        width: '5.8693%',
                        create:false,
                        edit:false,
                        list: false
                    },
                    event_type: {
                        title: 'Event Type',
                        width: '9%',
                        options: 'MachineLogActions.php?action=list_type'
                    },
                    machine: {
                        title: 'Machine',
                        width: '16%',
                        options: 'MachineLogActions.php?action=list_name'
                    },
                    user: {
                        title: 'User',
                        width: '11%',
                        options: 'MachineLogActions.php?action=list_user'
                    },
                    timestamp: {
                        title: 'Timestamp',
                        width: '15%'
                    },
                    shift: {
                        title: 'Shift',
                        width: '9%',
                        options: 'MachineLogActions.php?action=list_shift'
                    },
                    reason: {
                        title: 'Reason',
                        width: '25%',
                        options: 'MachineLogActions.php?action=list_reason'
                    },
                    count: {
                        title: 'Count',
                        width: '3%'
                    }
                }
            });

            //Load person list from server
            $('#MachineLogTableContainer').jtable('load');

        });

    </script>

как только я нажму кнопку отправки, мой URL-адрес списка также должен содержать значение машины.

        listAction: 'MachineLogActions.php?action=list&MachineId=',+machineId

Возможно ли это в Jquery.

я пробовал вот так

    var s=$('#selectMachine').val();
alert(s);

я получаю следующую ошибку в хроме

    Uncaught SyntaxError: Unexpected token ,

person Allen    schedule 05.11.2012    source источник


Ответы (2)


Попробуйте убрать запятую?

listAction: 'MachineLogActions.php?action=list&MachineId='+machineId

Вместо

listAction: 'MachineLogActions.php?action=list&MachineId=',+machineId
person Chris Bell    schedule 06.11.2012
comment
я не смог получить доступ к идентификатору машины внутри $('#MachineLogTableContainer').jtable. если я жестко запрограммирую MachineId, он работает. но я не могу получить доступ к значению, хранящемуся в переменной. - person Allen; 07.11.2012

Эта штука решает мою проблему фильтрации.

            select = document.getElementById("selectShift");
            select.onchange = function(){
                //alert(this.value); 
                //alert(this.innerHTML); 
            var options = this.getElementsByTagName("option");
            optionHTML = options[this.selectedIndex].innerHTML;  

            $('#ShiftLogTableContainer').jtable('load', {
                ShiftId: optionHTML
                });
            };

вы должны добавить его вместо

  $('#MachineLogTableContainer').jtable('load');
person Allen    schedule 09.11.2012