【问题标题】:Creating dynamic table with "dropdown multiselect checkbox" (jquery)使用“下拉多选复选框”创建动态表(jquery)
【发布时间】:2014-12-24 08:59:56
【问题描述】:

我正在我的 jsp 页面中填充一个动态表。我想有一列作为“下拉多选复选框”。要创建“下拉多选复选框”,我正在使用(jquery+bootstrap)。但是只有第一行是用 multiselectCheckbox 创建的,其他行是正常的选择选项。

这里是代码:-

<html><head>
<script>
<link rel="stylesheet" href="css/bootstrap.min.css">
<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<link rel="stylesheet" href="css/bootstrap-multiselect.css"
    type="text/css">
<script type="text/javascript" src="js/bootstrap-multiselect.js"></script>
<script type="text/javascript">
     $(document).ready(function() {
           $("#myselect").multiselect({
            includeSelectAllOption: true
});

});

</script>
</head>
<body>
<Table name="test" border="1">
            <TR bgcolor="#33FFFF">
                <td>ManagementIPAddress</td>
                <td>Application name</td>
            </TR>
            <c:forEach var="resultMap" items="${requestScope.snmpGetResultsMap}">
                <TR>
                    <TD><c:out value="${resultMap.key}" /></TD>
                    <TD><select id="myselect" multiple="multiple">
                            <option value="checkbox-1">checkbox-1</option>
                            <option value="checkbox-2">checkbox-2</option>
                            <option value="checkbox-3">checkbox-3</option>
                            <option value="checkbox-4">checkbox-4</option>
                            <option value="checkbox-5">checkbox-5</option>
                            <option value="checkbox-6">checkbox-6</option>
                    </select><br />
                    <br /></TD>
                </TR>
            </c:forEach>
        </Table>
</body></head></html>

我知道它的发生,因为每行的 select id 应该是唯一的,但现在确定如何解决它。

【问题讨论】:

  • 使用通用类。将类添加到您的选择中,然后您可以使用类选择器
  • 感谢 Satpal 的建议,但我不确定在这种情况下如何调用 jquery 函数。

标签: javascript jquery twitter-bootstrap checkbox


【解决方案1】:

使用通用类。在您的选择中添加一个类,然后您可以使用Class Selector (“.class”)

HTML:

<select class="mySelectClass" multiple="multiple">
        <option value="checkbox-1">checkbox-1</option>
        <option value="checkbox-2">checkbox-2</option>
</select>

脚本:

 $(document).ready(function() {
    $(".mySelectClass").multiselect({
        includeSelectAllOption: true
    });
});

【讨论】:

  • 非常感谢 Satpal,它成功了 :) 你拯救了我的一天 :)
【解决方案2】:

试试下面的代码

<html><head>
<script>
<link rel="stylesheet" href="css/bootstrap.min.css">
<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<link rel="stylesheet" href="css/bootstrap-multiselect.css"
    type="text/css">
<script type="text/javascript" src="js/bootstrap-multiselect.js"></script>
<script type="text/javascript">
     $(document).ready(function() {
           $(".yourClass").each(function(){
$(this).multiselect({
            includeSelectAllOption: true
});
});

});

</script>
</head>
<body>
<Table name="test" border="1">
            <TR bgcolor="#33FFFF">
                <td>ManagementIPAddress</td>
                <td>Application name</td>
            </TR>
            <c:forEach var="resultMap" items="${requestScope.snmpGetResultsMap}">
                <TR>
                    <TD><c:out value="${resultMap.key}" /></TD>
                    <TD><select class="yourClass" multiple="multiple">
                            <option value="checkbox-1">checkbox-1</option>
                            <option value="checkbox-2">checkbox-2</option>
                            <option value="checkbox-3">checkbox-3</option>
                            <option value="checkbox-4">checkbox-4</option>
                            <option value="checkbox-5">checkbox-5</option>
                            <option value="checkbox-6">checkbox-6</option>
                    </select><br />
                    <br /></TD>
                </TR>
            </c:forEach>
        </Table>
</body></head></html>

【讨论】:

  • 用你的class替换成你喜欢的任何css类名
  • 感谢 Ashish 的帮助
猜你喜欢
  • 2017-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-19
  • 1970-01-01
  • 2014-09-26
  • 1970-01-01
相关资源
最近更新 更多