2 つの選択ボックスを含むページがあり、そのうちの 1 つが AJAX 呼び出しによって読み込まれます。次に、送信ボタンを有効にする前に、jquery/javascript で要素を検証したいと考えています。静的選択 (strDirectorate) を変更しても、AJAX 呼び出しによってロードされたドロップダウンの値を取得できない場合、jquery は正常に動作します。
2 番目のドロップダウンで、最初のアイテム (最初のアイテムは空白の値) ではなく、アイテムを選択したかどうかを確認する必要があります。
jquery 1.7.2 を使用しました //最初のドロップダウンは 100% 正確に動作します
//Load Sub Category by Category
$(document).ready(function() {
$("#category_id").live('change', function() {
$("#span_sub_category").html( '<img src="<?php echo $base_client;?>images/ajax-loader.gif"/>' );
$.ajax({
type: 'POST',
cache: false,
url: '<?php echo $base_client;?>ajax-response.php',
data: 'category_id='+$('#category_id').val()+'&drop_down_name=sub_category_id&operation=load_sub_category',
success: function(data) {
if(data){
var obj = jQuery.parseJSON(data);
if(obj.response==1){
//$('#msg_speaker_login').hide();
$('#span_sub_category').hide().html(obj.message).slideDown(1000);
}else{
$('#span_sub_category').hide().html(obj.dd_list).slideDown(1000);
table_name="directory_company";
prepare_sorting_list();
}
}else{
//JSON unable to return data.
}
}
});
});
});
これは ajax 呼び出しによってロードされたドロップダウンです。
<select name="sub_category_id" id="sub_category_id">
<option value="">Sub Category</option>
<option value="2">Mobile Engineers</option>
<option value="1">Motor EngineersX</option>
<option value="3">Chemical Engineers</option>
</select>
送信ボタンのクリック イベントで、sub_category_id が読み込まれて選択されているかどうかを確認しようとしました。
$(document).ready(function() {
$('#btnKeywordSaveUpdate').live('click', function() {
if(typeof("sub_category_id") != "undefined")
alert("Sub category not loaded");
else if($('#sub_category_id').val()=="")
alert("Please select sub category");
alert(msg);
});
});
最後に、私の問題は次のとおりです。私は常にアラートを受け取ります(「サブカテゴリがロードされていません」); しかし、サブカテゴリのドロップダウンがページに読み込まれ、空白以外の値を選択しました。では、サブカテゴリのドロップダウンがページに読み込まれて選択されているかどうかを確認するにはどうすればよいですか。