jQueryv1.7.2を使用しています。
次のコードは、ブートストラップ(2.2.1)モーダル形式で該当するチェックボックスを生成します。
$sql1="Select $sub_listing_id,$sub_listing_name FROM $sub_listing";
$results=$wpdb->get_results($sql1,ARRAY_A);
$html_code= '<form id="multiselect">';
$num=0;
foreach($results as $key=>$value)
{
foreach($value as $k1=>$v1)
{
if($k1==$sub_listing_id)
{
$sub_listing_id_val=$v1;
}
if($k1==$sub_listing_name)
{
$sub_listing_name_val=$v1;
$html_code.= '<input type="checkbox" name="list" value="'.$sub_listing_id_val.'"> '.$sub_listing_name_val.' ';
$num=$num + 1;
if($num%5==0)
$html_code.= '<br/><br/>';
}
}
}
$html_code.= '</form>';
echo $html_code;
ここで、いくつかのチェックボックスを選択し、選択した値を次のjQueryに渡します。
$('#btn-add-sub-listing-save').click(function (e){
e.preventDefault();
var ajax_url='add_sub-listing.php';
var dataString=$('#multiselect').serialize();
showLoader('.modal-body');
dataString=dataString.replace(/&/g,' AND ');
$.ajax({
url: ajax_url + '?' + dataString,
type: 'GET',
dataType: 'html',
success: function(data){
$('.modal-body').html(data);
}
});
});
jQueryを編集する場合:
$('.modal-body').html(dataString);
それはうまく機能します。つまり、#multiselectは常にシリアル化されますが、2回目以降は追加されません。そのため、muランディングページの値を取得できず、進行できません。
キャッシュ:falseとasync:falseを使用しました。それでも、動作しません!提案をお願いします。
たぶん、bootstrap-modal-cacheはこれと関係があります。私は以前、次のjQueryを使用してこの状況を克服していました。
$('.btn-add-sub-listing').click(function (e){
e.preventDefault();
$('#add-sub-listing-modal').removeData("modal");
$('#add-sub-listing-modal').modal({remote: $(this).attr("href")})
$('#add-sub-listing-modal').modal('show');
});
ここでは、「href」を使用しました。「href」が適用されないボタンに対してはできますか?