0

私の問題について聞きたいだけです。jquery初心者です。私の問題は、jquery ajax リクエストから json 文字列を取得したいのですが、方法がわかりません。json文字列の値が正しいかどうかを確認したいからです。

jquery ajaxでの私のコードは次のとおりです。

$('#search-btn').on('click',function(){

            var query = $("#keyword").val();

            var image = "<?php echo base_url()."/resources/loading/loading43.gif"; ?>";

            $('#loading').html("<img src='"+image+"' class='loeader' align='center' />");

            var query_url = "<?php echo site_url('item_controller/searchItem'); ?>";

            $.ajax({

                type:'POST',
                url: query_url,
                data:{query: $("#keyword").val(), data_filter: $("#keyword").attr("data-selection")},    //how can I get the value of data_filter? and pass it to the controller?
                dataType:'json',
                async: false,
                success:function(d){
                      //some codes for success. . . 

             },
});



$("#selection_filter").on('change',function(){

    var filter = $("#selection_filter").val();

    $("#keyword").attr("data-selection",filter);
});

これはイベントのコードです。

<table border="1" style="width: 100%; align: left" cellpadding="10" cellspacing="10" align="left">
            <tr>
                <td colspan="3">
                    <h5>SEARCH ITEM</h5>
                </td>
            </tr>
            <tr>
                <td style="width: 15%">
                    <label>Choose search filter: </label>
                </td>
                <td style="width: 25%">
                    <select id="selection_filter">
                        <option value="code">ITEM CODE</option>
                        <option value="itemname">ITEM NAME</option>
                    </select>
                </td>
                <td>
                    <input type="text" name="keyword" id="keyword" style="width: 80%" data-selection="code" /> <input type="button" value="SEARCH" id="search-btn" class="k-button" style="font-size: 12px" />
                </td>
            </tr>
        </table>

これは、コントローラーにアクセスするための私のコードです (CodeIgniter)

public function searchItem(){

            $query = $this->input->post('query');
            $filter = $this->input->post('data_filter');

            if($filter == "code"){
                $querySearch = "SELECT item_code,item_name from items WHERE item_code LIKE '%".$query."%' GROUP BY item_code";
            }else{
                $querySearch = "SELECT item_code,item_name from items WHERE item_name LIKE '%".$query."%' GROUP BY item_code";
            }

            $resultSearch = $this->db->query($querySearch);
            $count = $resultSearch->num_rows();

            echo json_encode($resultSearch->result_array());
            //echo json_encode($querySearch);

        }

私が取得したいものは次のとおりです。

私のアヤックスで。キーワードとデータフィルターの値を含むデータがあります。ここで必要なのは、data_filter 値を取得してコントローラーに渡すことです。

4

2 に答える 2

1

このように ajax 内で応答を取得できます

$.ajax({
            type:'POST',
            url: query_url,
            data:{query: $("#keyword").val(), data_filter: $("#keyword").attr("data-selection")},
            dataType:'json',
            async: false,
            success:function(res){
                 console.log(res.item_code);//Will give you the item code
                 console.log(res.item_name);//Will give you the item name
         },
});
于 2013-10-31T06:34:52.397 に答える
0

わかりました、構文のエラーだけです。返信ありがとうございます。

于 2013-10-31T07:42:37.210 に答える