【问题标题】:How do I get the id of a list item?如何获取列表项的 id?
【发布时间】:2015-06-02 12:24:35
【问题描述】:

我有一个复选框列表,其中每个项目都有一个 ID。单击项目的文本时,应在 console.log 中打印出 id("cssId")。

复选框列表:

<div id="cssListBox" class="list-group">
            <ul id="listItemCss">
                @foreach (var item in Model.CssTemplates)
                {
                    <li id="itemInList">
                        @Html.CheckBox("ChoiceBox", item.IsConnected)
                        @Html.Hidden("cssId", item.Id, new { @class = "cssId" })
                    </li>
                }
            </ul>

        </div>

jquery:

$('#listItemCss>li').click(function() {
        var cid = (this).val();

        console.log('cid');
    });

请告诉我是否可以通过某种方式使问题更清楚,我有点慢,请耐心等待。

【问题讨论】:

  • 能否请您发布输出的 html 而不是 cshtml 文件的文本。

标签: jquery html model-view-controller


【解决方案1】:
$('#listItemCss>li').click(function() {
    var cid = $(this).find('.cssId').val();
    console.log(cid);
});

另外,不要对多个 li 元素使用相同的 id

DEMO

Why is it a bad thing to have multiple HTML elements with the same id attribute?

【讨论】:

  • 我在尝试此操作时在日志中显示“未定义”。
  • @FadiY,像这样它不会 .... foreach (var item in Model.CssTemplates) {
  • @FadiY,不,这与它无关。也许我误解了你想要什么。你想要cssId的值吗?
  • 是的,我想要 cssId 的值。
  • 现在日志显示“假”。我知道我得到了 ID,因为我可以在浏览器中看到生成的项目。
  • 【解决方案2】:
    $('#listItemCss>li').click(function() {
            var cid = (this).attr('id');
    
            console.log('cid');
        });
    

    【讨论】:

    • 解释您的解决方案为何有效将有助于您的读者学习。
    【解决方案3】:
    $('#listItemCss>li').click(function() {
            var cid = $(this).attr('id');
    
            console.log('cid');
        });
    

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签