新手,記錄一下做的練習 +
-
x
÷ =
視圖代碼
<!DOCTYPE html>
<html >
<head>
<meta charset="utf-8">
<title>CodeIgniter jquery ajax Test</title>
</head>
<body>
<div id="calculators">
<form>
<input type="text" id="num1" />
<select name="operate" id="operate">
<option value="add">+</option>
<option value="sub">-</option>
<option value="mul">x</option>
<option value="div">÷</option>
</select>
<input type="text" id="num2" />=
<input type="text" id="result" disabled="disabled"/>
<input type="button" id="calculate" value="calculate" />
</form>
</div>
<script type="text/javascript" src="/js/libs/jquery-2.1.1.min.js"></script>
<script type="text/javascript" src="/js/calculate.js"></script>
</body>
</html>
js代碼
$(document).ready(function(){
$("#calculate").click(function(){
$.post("index.php/welcome/calculate",
{
num1:$("#num1").val(),
operate:$("#operate").val(),
num2:$("#num2").val()
},
function(data,status){
$("#result").val(data);
});
});
});
控制器代碼
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Welcome extends CI_Controller
{
//constructor
public function __construct()
{
parent::__construct();
$this->load->model('calculate_model');
}
//default method
public function index()
{
$this->load->view('calculate_view');
}
//test
function calculate() {
$num1 = $_POST['num1'];
$op = $_POST['operate'];
$num2 = $_POST['num2'];
$result = $this->calculate_model->calculate($num1, $num2, $op);
echo $result;
}
}
模型代碼
<?php
class Calculate_model extends CI_Model {
function __construct() {
parent::__construct();
}
function calculate($num1, $num2, $op) {
$num1_ = (float)$num1;
$num2_ = (float)$num2;
if ($op == "add") {
return $num1_ + $num2_;
}else if ($op == "sub") {
return $num1_ - $num2_;
}else if ($op == "mul") {
return $num1_ * $num2_;
}else if ($op == "div" && $num2_ != 0) {
return $num1_ / 1.0 / $num2_;
}else {
return -999;
}
}
}