基本上我试图仅在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;
}
});
});