使用ajax响应在文本框中获取值

时间:2016-02-14 11:20:55

标签: javascript php jquery ajax

我希望Broker Commsion在Ajax Only的帮助下选择管理员。

            <select id="user_id"  onchange="funCom(this);" >
                            <option value="" >Select Broker </option>
                                <?php $aData=$oGeneral->get_records('tbl_user');

                                $aUsertDetails  =   $oGeneral->aAdmin;
                                $iUserDetails   =   $oGeneral->iAdmin;
                     for($i=0;$i<$iUserDetails;$i++){?>
                  <option value="<?=$aUsertDetails[$i]['fld_id']?>"> 
                 <?php echo $aUsertDetails[$i]['fld_name']; ?></option>

                            <?php }?>
                            </select>
    <input type="text" id="comm" name="fld_commision" value="" onkeyup="sum()" required>

函数调用

 function funCom(id){
  id = id.value; 

 Token= "search-comm";
 SendData= "Token="+Token+"&id="+id;


    $.ajax({ url: 'Ajaxhandler.php', 
    dataType: 'text',
    type: 'post',
    async: false, 
    data: SendData,
    success: function(data)
    {   


        //var commision=stripHTML(data);
        //$('#comm').val(commision); again not working
        //$('#comm').text(data);  Tried this but fail   
            $('#comm').val(data); //output is <body></body></html>7000
                                 // i want only 7000 i have tried 
         }, 
        error: function( jqXhr, textStatus, errorThrown ){ 
        console.log( errorThrown ); 
       } });


  }

Ajaxhandler.php 在这里,我正在考虑需要放入文本框的commsion值。该值显示在<div>中,但我想在文本框中显示。

<?php
require('../configuration/configuration.php');
$oGeneral = new GeneralClass();
$oUser = new UserClass();

$token= $_REQUEST['Token'];

switch($token)  {
    case 'search-comm': $id=$_REQUEST['id'];
    $oUser->project_commision($id);
    $aUsertDetails  =   $oUser->aResults;
    $iUsertDetails  =   $oUser->iResults;
    $total=0;
    for($i=0;$i<$iUsertDetails;$i++){
    $total+= $aUsertDetails[$i]['fld_commsionprice'];

    }
echo $total;
break;
}

?>

2 个答案:

答案 0 :(得分:0)

将您的数据类型更改为json并尝试此操作。

函数调用

function funCom(id){
  id = id.value; 

 Token= "search-comm";
 SendData= "Token="+Token+"&id="+id;


    $.ajax({ url: 'Ajaxhandler.php', 
    dataType: 'json',
    type: 'post',
    async: false, 
    data: SendData,
    success: function(data)
    {   


        //var commision=stripHTML(data);
        //$('#comm').val(commision); again not working
        //$('#comm').text(data);  Tried this but fail   
            $('#comm').val(data.total); //output is <body></body></html>7000
                                 // i want only 7000 i have tried 
         }, 
        error: function( jqXhr, textStatus, errorThrown ){ 
        console.log( errorThrown ); 
       } });


  }

是Ajaxhandler.php

$token= $_REQUEST['Token'];

      switch($token)
      {
        case 'search-comm': $id=$_REQUEST['id'];
                         $oUser->project_commision($id);
                        $aUsertDetails  =   $oUser->aResults;
                        $iUsertDetails  =   $oUser->iResults;
                        $total=0;
                        for($i=0;$i<$iUsertDetails;$i++){
                        $total+= $aUsertDetails[$i]['fld_commsionprice'];

                        }
                       echo json_encode(array('total'=>$total));

                       break;
}

?>

答案 1 :(得分:0)

试试这段代码,我在我的电脑上进行测试并且有效!

function funCom(id){
  id = id.value; 

 Token= "search-comm";
 SendData= "Token="+Token+"&id="+id;


    $.ajax({ url: 'Ajaxhandler.php', 
    type: 'POST',
    data: {Token:Token,id:id},
    }).done(function( data ) {
       $("#comm").val(data.total);
    });





<?php
$token= $_REQUEST['Token'];
header('Content-type: application/json');

      switch($token)
      {

        case 'search-comm': 
        $id=$_REQUEST['id'];
        $oUser->project_commision($id);
        $aUsertDetails  =   $oUser->aResults;
        $iUsertDetails  =   $oUser->iResults;
        $total=0;
        for($i=0;$i<$iUsertDetails;$i++){
          $total+= $aUsertDetails[$i]['fld_commsionprice'];
        }
        echo json_encode(array('total'=>$total));
        die;
      }

echo json_encode(array('total'=>""));
                       die;

?>