با سلام من یک کدی دانود کردم که خوب کار میکنه اما میخوام این کد رو نسبت بدم به لیست ویو تا فیلت کنه اما نمیشه
هر دوتا کد رو گذاشتم لطفا کمکم کنید
کد اورجینال
<!DOCTYPE html> <html> <head> <style> * { box-sizing: border-box; } #myInput { background-image: url('/css/searchicon.png'); background-position: 10px 12px; background-repeat: no-repeat; width: 100%; font-size: 16px; padding: 12px 20px 12px 40px; border: 1px solid #ddd; margin-bottom: 12px; } #myUL { list-style-type: none; padding: 0; margin: 0; } #myUL li a { border: 1px solid #ddd; margin-top: -1px; /* Prevent double borders */ background-color: #f6f6f6; padding: 12px; text-decoration: none; font-size: 18px; color: black; display: block } #myUL li a:hover:not(.header) { background-color: #eee; } </style> </head> <body> <h2>My Phonebook</h2> <input type="text" id="myInput" onkeyup="myFunction()" placeholder="Search for names.." title="Type in a name"> <ul id="myUL"> <li><a href="#">Adele</a></li> <li><a href="#">Agnes</a></li> <li><a href="#">Billy</a></li> <li><a href="#">Bob</a></li> <li><a href="#">Calvin</a></li> <li><a href="#">Christina</a></li> <li><a href="#">Cindy</a></li> </ul> <script> function myFunction() { var input, filter, ul, li, a, i; input = document.getElementById("myInput"); filter = input.value.toUpperCase(); ul = document.getElementById("myUL"); li = ul.getElementsByTagName("li"); for (i = 0; i < li.length; i++) { a = li[i].getElementsByTagName("a")[0]; if (a.innerHTML.toUpperCase().indexOf(filter) > -1) { li[i].style.display = ""; } else { li[i].style.display = "none"; } } } </script> </body> </html>
کد من که میخوام وقتی فیلتر میکنه لیست ویو ایتم هاش فیلتر شه
<asp:ListView ID="ListView1" runat="server" DataSourceID="SqlDataSource1">
<ItemTemplate>
<ul id="myUL">
<li><a href="#"> <%# Eval("id") %></a></li>
</ul>
</ItemTemplate>
</asp:ListView>
<br />
<br />
<br />
<script>
function myFunction() {
var input, filter, ul, li, a, i;
input = document.getElementById("myInput");
filter = input.value.toUpperCase();
ul = document.getElementById("ListView1");
li = ul.getElementsByTagName("li");
for (i = 0; i < li.length; i++) {
a = li[i].getElementsByTagName("a")[0];
if (a.innerHTML.toUpperCase().indexOf(filter) > -1) {
li[i].style.display = "";
} else {
li[i].style.display = "none";
}
}
}
</script></div>
</form>
</body>
</html>
کد اول بدستی کار میکنه و فیلتر میکه اما من میخوام ایتم لست ویو فیلتر بشه لطفا راهنمایی کنین پلیز
باید کد رو بنا به نیاز خودتون تغییر بدید
نمونه اماده ای برای اینکار وجود نداره
به جای لیست ویو از Repeater استفاده کنید و مطابق نمونه عمل کنید
برای فروشگاه و نشان دادن اجناس مگه لیست ویو استفاده نمیشه خودتون گفتین سری بیش عین دیوار دیوار از چی استفاده میکنه برای نشان دادن ؟
میتونه لیست ویو باشه
ولی اگر من بودم از Repeater استفاده میکردم
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)