基本的にdb_update
、ぼかしでトリガーされる入力フィールドの親divクラス内の要素のみをターゲットにしようとしていますが、名前が一致するクラスをターゲットにしています。これは私が望むものではありません。今のところ無関係なので、AJAXの部分は無視してください。
問題は、ぼかしで入力要素をターゲットにすることにあり、親要素に正常にチェーンできないことにあると思います。
基本的に、どちらのURL入力ボックスをクリックしても、両方ではなく、どちらのフィールドに入力する必要があります。
HTML
<div class="db_update">
<p style="font-size: 12px;"><span style="font-weight: normal;">SLIDE URL: <input type="text" class="slide_URL" /></span></p>
<div class="status_message"> </div>
<p style="font-size: 12px;"><span style="font-weight: normal;">Slide #: <input type="text" class="slide_num" readonly/></span></p>
<p style="font-size: 12px;"><span style="font-weight: normal;">Document #: <input type="text" class="doc_num" readonly/></span></p>
<p style="font-size: 12px;"><span style="font-weight: normal;">Filter(F): <input type="text" class="filter_num" readonly/></span></p>
</div>
<br/>
<div class="db_update">
<p style="font-size: 12px;"><span style="font-weight: normal;">SLIDE URL: <input type="text" class="slide_URL" /></span></p>
<div class="status_message"> </div>
<p style="font-size: 12px;"><span style="font-weight: normal;">Slide #: <input type="text" class="slide_num" readonly/></span></p>
<p style="font-size: 12px;"><span style="font-weight: normal;">Document #: <input type="text" class="doc_num" readonly/></span></p>
<p style="font-size: 12px;"><span style="font-weight: normal;">Filter(F): <input type="text" class="filter_num" readonly/></span></p>
</div>
Jquery
$(document).ready(function() {
$('input[class=slide_URL]').on({
blur: function(){
var status_message = $('.status_message');
var query_string = encodeURIComponent($(this).val());
var dataString = 'query_string='+ query_string;
$.ajax({
type : 'GET',
url: '',
dataType : 'json',
data: dataString ,
error : function(XMLHttpRequest, textStatus, errorThrown) {
$(this).parent().find('.slide_num').val(140);
$('.doc_num').val(140);
$('.filter_num').val(140);
status_message.removeClass().addClass('failure').text('Request was not sent.').show(200);},
success : function(data) {
if (data.error === true)
{
status_message.show().removeClass('success').addClass('failure').text(data.msg).stop().fadeOut(3000);
}
else {
status_message.show().removeClass('failure').addClass('success').text(data.msg).stop().fadeOut(3000);
}
}
});
return false;
}
});
});