다른 값을 포함하는 "Read More"(코드 하단)라는 두 개의 링크가 있습니다. 클릭하면 jquery 함수가 호출되어 demo_search.php로 전송됩니다. 문제는 어떤 링크를 클릭하든 동일한 값을 계속 유지한다는 것입니다. 내가동일한 값을 반환하는 jquery attr ("href")
var searchString = ($(this).attr("href"))
대신
var searchString = ($(".more_info").attr("href"))
것들을 사용한다면 잘 작동합니다. 그러나 나는 (this)
을 사용할 수 없다. 어떻게 해결할 수 있을까요?
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Test Search</title>
<link rel="stylesheet" type="text/css" href="my.css">
<script type="text/javascript" src="http://localhost/dev/ajax/jquery.js"></script>
<script type="text/javascript">
$(function() {
$(".more_info").click(function() {
// getting the value that user typed
var searchString =($(".more_info").attr("href"));
// form the queryString
var data = 'search='+ searchString;
var imgLoad = '<img src="loading.gif">';
// if searchString is not empty
if(searchString) {
alert (searchString);
// ajax call
$.ajax({
type: "GET",
url: "demo_search.php",
data: searchString,
beforeSend: function(html) { // this happens before actual call
$(".word").html(searchString);
$(".imgProgress").html(imgLoad);
},
success: function(page_data){ // this happens after we get results
$("#results").empty();
$("#results").fadeIn(200);
$("#results").append(page_data);
$(".imgProgress").empty();
},
});
}
return false;
});
});
</script>
</head>
<body>
<div id="container">
<div style="margin:20px auto; text-align: center;">
<form method="post">
<input type="text" name="search" id="search_box" class='search_box'/>
<input type="submit" value="Search" class="search_button" /><br />
</form>
</div>
<div>
<div id="searchresults">Search results for <span class="word"></span><span class="imgProgress"></span></div>
<div id="results" class="update" style="display:none;"><ul></ul>
</div>
<div>
<a href="search=sony&offset=20&lang=en" class="more_info">Read More</a>
<a href="search=pioneer&offset=30&lang=en" class="more_info">Read More</a>
</div>
</div>
</div>
</body>
</html>
'. 분명히 당신의 문제를 해결한다면 왜'this'를 사용할 수 없습니까? –
이 함수에서 (this)를 사용하면 동일한 페이지/스크립트의 다른 함수에서 사용할 수 있습니까? – Norman
다른 기능에서 무엇을 사용합니까? –