最近用jquey做关于联动的,遇见渲染之后,得不到渲染得里面的值
例如
通过append渲染出<select></select>
再通过渲染循环得到option,但是无论怎么怎么都得不到select中option对应的值
核心代码如下:
function getProjectPart(carId,id) {
$.getJSON(".....", {carId: carId,p_id:id}, function (json) {
var baoyang = $("#baoyang");
$("div", baoyang).remove();
$.each(json, function (index, array) {
var divpart = '<select name='+array['chexing_col']+' id='+array['chexing_col']+'></select>';
baoyang.append(divpart);
var chexing_col = array['chexing_col'];
var namePart = $("#"+chexing_col);
$("option", namePart).remove();
for(var i=0;i<array['c_data'].length;i++){
var option = "<option value='" + array['c_data'][i]['id'] + "'>" + array['c_data'][i]['pinpai'] + "</option>";
namePart.append(option);
}
});
});
}
再通过代码如下获取渲染得select里面对应的select的值:
$(function () { $("#jixiao").change(function () { alert(4545); }); });
结果如下
<select id="jiyou" name="jixiao" onchange="bao(this.options[this.options.selectedIndex].value)"><option value="5">壳牌</option><option value="6">壳牌</option><option value="9">嘉实多</option><option value="10">嘉实多</option></select>
但是alert(4545);不会出来
今天才知道是为什么。
function getProjectPart(carId,id) { $.getJSON(".....", {carId: carId,p_id:id}, function (json) { var baoyang = $("#baoyang"); $("div", baoyang).remove(); $.each(json, function (index, array) { var divpart = '<select οnchange="bao(this.options[this.options.selectedIndex].value)" name='+array['chexing_col']+' id='+array['chexing_col']+'></select>'; baoyang.append(divpart); var chexing_col = array['chexing_col']; var namePart = $("#"+chexing_col); $("option", namePart).remove(); for(var i=0;i<array['c_data'].length;i++){ var option = "<option value='" + array['c_data'][i]['id'] + "'>" + array['c_data'][i]['pinpai'] + "</option>"; namePart.append(option); } }); }); }
function bao(s){ $.getJSON("index.php?action=carAllSum&controller=order", { s:s }, function (json) { var total = $("#totalmoney"); total.empty(); $.each(json, function (index, array) { var option = "<br/><span class='allCost'>" + array['name'] + "元</span>"; total.append(option); }); }); }