.each 或搜索功能,我该如何使用它们?

发布于 2024-09-01 00:07:05 字数 666 浏览 9 评论 0原文

我有一个 ul 列表,其中包含 10 个项目,并且有一个显示所选 li 文本的标签。

当我单击一个按钮时,我需要检查标签,与所有列表项进行比较以找到匹配的项,当它发现我需要分配相应的编号时。

列表: 梅西 克里斯蒂亚诺 Zlatan

列表项的隐藏值: www.messi.com www.cronaldo.com www.ibra.com

标签: Zlatan

脚本(思想)过程: 获取标签文本,搜索列表中匹配的字符串,获取该字符串的值。

(如果有人可以指出我学习这些基本(?)东西的方向。

尝试尽可能具体,谢谢大家!

编辑: 真的很抱歉没有说清楚。

li 都动态获取一个类(.listitem)。 链接可以存储在数组或隐藏字段中(或其他隐藏的 ul) 链接在哪里并不重要..

$('.listitem').click(function() {
$("#elname").text($(this).text());
$("#such").attr("href", $(this).attr('value'));
});

我正在尝试让 li 具有值,但我意识到 li 不能具有值..

再次感谢!

I have a ul list, with 10 items, and I have a label that displays the selected li text.

When I click a button, I need to check the label, versus all the list items to find the matching one, when it finds that I need to assign the corresponding number.

I.e.

list:
Messi
Cristiano
Zlatan

hidden values of list items:
www.messi.com
www.cronaldo.com
www.ibra.com

label:
Zlatan

script (thought)procces:
get label text, search list for matching string, get the value of that string.

(and if someone could point me in a direction to learn these basic(?) stuff.

tried to be as specific as possible, thanks guys!

edit:
really sorry for not being clear.

the li's are all getting a class dynamically (.listitem).
the links can be stored in an array or in a hidden field (or other ul thats hidden)
it doesn't really matter where the links are..

$('.listitem').click(function() {
$("#elname").text($(this).text());
$("#such").attr("href", $(this).attr('value'));
});

I was trying that with the li's having values but I realized that li's can't have values..

thanks again!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

半暖夏伤 2024-09-08 00:07:05
<ul>
    <li title="www.messi.com">
        Messi 
    </li>
    <li title="www.cronaldo.com">
        Cristiano
    </li>
    <li title="www.ibra.com">
        Zlatan
    </li>
</ul>
<label id="selected"></label>
<br />
<br />
<input type="button" id="button" value="click" />

<script type="text/javascript">
    $(document).ready(function() {
        $("li").each(function(i) {
            $(this).click(function() {
                $("label").html($(this).html());
            });
        });

        $("#button").click(function() {
            alert($("li:contains(" + $("label").html() +")").attr("title"));
        });
    });
</script>

我将隐藏字段值存储在 li 元素的标题中以简化我的工作

<ul>
    <li title="www.messi.com">
        Messi 
    </li>
    <li title="www.cronaldo.com">
        Cristiano
    </li>
    <li title="www.ibra.com">
        Zlatan
    </li>
</ul>
<label id="selected"></label>
<br />
<br />
<input type="button" id="button" value="click" />

<script type="text/javascript">
    $(document).ready(function() {
        $("li").each(function(i) {
            $(this).click(function() {
                $("label").html($(this).html());
            });
        });

        $("#button").click(function() {
            alert($("li:contains(" + $("label").html() +")").attr("title"));
        });
    });
</script>

I store the hidden fields values in the titles of li elements to simplify my work

风流物 2024-09-08 00:07:05

我认为这应该有效:(

var label = "Zlatan";
var url = ul.find("li")
    .filter(function(){return $(this).text() == label})
    .find("input[type=hidden]")
    .val();

这里我猜你的意思是隐藏输入字段,因为 li 不能有隐藏值)。

I think this should work:

var label = "Zlatan";
var url = ul.find("li")
    .filter(function(){return $(this).text() == label})
    .find("input[type=hidden]")
    .val();

(Here I guess you mean hidden input field, because a li can't have a hidden value).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文