我的頁面有三個html選擇標記。jQuery的更改()不起作用
我想這三個選擇標籤具有以下功能:
當我改變SELECTA,不是根據SELECTA selectB自動變化。 當selectB的選項已經創建,當我改變selectB比selectC自動改變selectB。
(
例如...
第一SELECTA的選項有歌星,影星,selectB只是空的。
當歌手選項選中,selectB自動創建選項 「Lady Gaga的」,「 Celine Dion「,」惠特尼休斯頓「,如果三位歌手創作過,當我選中」Lady Gaga「時,selectC將創建」生日「,」Facebook「,」google +「選項
當檢查影片星標選項時, selectB自動創建選項「Bruce Wi llis「,」馬特達蒙「,」威爾史密斯「,如果三個電影明星創建,當我選中」布魯斯威利斯「時,selectC將創建」生日「,」Facebook「,」谷歌+「選項。
)
我的問題是...當我改變selectB,$( 「#selectB_id」)變化()無法正常工作
以下是我的javascript代碼:
$(function(){
$("#lineselect").change(function() {
$.ajax({
url: '/lineflow/ajaxgetselect',
type:'POST',
data:{ service_id:$("#lineselect option:checked").val() , level:1 },
success: function(res){
var obj = jQuery.parseJSON(res);
if($("#lineselect").val() == 0)
{
$("#second_li").html("");
$("#third_li").html("");
}
else if($("#lineselect").val() == 1)
{
$("#second_li").html("");
$("#third_li").html("");
$("#second_li").html('<select id="service_type" name="service_type"><option value="0">ALL</option></select>');
$("#third_li").html('<select id="service_name" name="service_name"><option value="0">ALL</option></select>');
for(i=0; i<obj.length; i++)
{
$('#service_type').append($("<option></option>")
.attr("value",obj[i].id)
.text(obj[i].name));
}
}
else if($("#lineselect").val() == 2)
{
$("#second_li").html("");
$("#third_li").html("");
$("#second_li").html('<input type="text" id="url_name" name="url_name"></input>');
}
else if($("#lineselect").val() == 3)
{
$("#second_li").html("");
$("#third_li").html("");
$("#second_li").html('<select id="url_type" name="url_type"><option value="0">ALL</option></select>');
for(i=0; i<obj.length; i++)
{
$('#url_type').append($("<option></option>")
.attr("value",obj[i].id)
.text(obj[i].name));
}
}
},
error: function(obj, status, err){}
});
});
$("#service_type").change(function() { // this change not work!!!
$.ajax({
url: '/lineflow/ajaxgetselect',
type:'POST',
data:{ service_id:$("#service_type option:checked").val() , level:2 },
success: function(res){
var obj = jQuery.parseJSON(res);
$("#third_li").html("");
$("#third_li").html('<select id="service_name" name="service_name"><option value="0">ALL</option></select>');
for(i=0; i<obj.length; i++)
{
$('#service_type').append($("<option></option>")
.attr("value",obj[i].id)
.text(obj[i].name));
}
},
error: function(obj, status, err){}
});
});
});
試試 「上」 而不是 「變化」:$(...)在( '變', ...) – Atber
@Aber沒有區別......'.change(func)'只是'.on(「change」,func)的快捷方式' – Ian