
我用的框架是cakaphp
html代码
<select id="academy" name="academy"><option value="" selected="">请选择学院</option>
</select>
<select style="width: 150px" name="profession" id="profession">
<option value="" selected="">请选择所需专业</option>
</select>
jquery代码
$(document).ready(function() {
// ------------------------------
//add academy
$.ajax({
type : "POST",
url : '/Touches/ajaxTest',
async : false,
data : {},
dataType : 'json',
success : function(acadList) {
var acadHtml = ""
for (var i in acadList) {
acadHtml += "<option value="+acadList[i].acadId+" >"+acadList[i].acadName+"</option>"
}
$("#academy").append(acadHtml)
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
alert('通信失败:' + errorThrown)
}
})
// ------------------------------------
// add profession
$('#academy').change(function(){
var value = $(this).val()
$('#profession option:gt(0)').remove()
if (value != "") {
$.ajax({
type : "POST",
url : '/Touches/ajaxTest2',
async : false,
data : {'acadId' : value},
dataType : 'json',
success : function(porList) {
var porHtml = ""
for (var i in porList) {
porHtml += "<option value="+porList[i]+" >"+porList[i]+"</option>"
}
$("#profession").append(porHtml)
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
alert('通信失败:' + errorThrown)
}
})
}
})
})
php代码
public function ajaxTest() {$rtn = array(
array(
"acadId" => "acad1",
"acadName" => "acad1"
),
array(
"acadId" => "acad2",
"acadName" => "acad2",
),
array(
"acadId" => "acad3",
"acadName" => "acad3",
),
)
return new CakeResponse(array('body' => json_encode($rtn)))
}
public function ajaxTest2() {
$p = $this->request->data
$rtn = array(
"acad1" => array(
"pro1",
"pro2"
),
"acad2"=> array(
"pro3",
"pro4"
),
"acad3" => array(
"pro5",
"pro6"
),
)
return new CakeResponse(array('body' => json_encode($rtn[$p["acadId"]])))
}
你这 内容里其他文字和学校名称很难区分,唯一不同的就是后缀是:学院,技校,院校
$str = "......."//你那串字符preg_match_all('/n(.*?学院)/i' ,$str ,$res1)
preg_match_all('/n(.*?技校)/i' ,$str ,$res2)
preg_match_all('/n(.*?院校)/i' ,$str ,$res3)
这时候你var_dump($res1)var_dump($res2)var_dump($res3)
dump出来是数组,接下来 *** 作自己根据数组内容去选取
刚才我用字符测试了一下 , $res1 是一个二维数组. 循环便利一下取$value[0],然后
再替换里面的 n和\ $arr[] = str_replace('array('\','n')','array('','')',$value[0])
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)