如何在表中选择输入已检查行的值?

时间:2015-02-09 15:26:04

标签: javascript jquery html xhtml

我是JavaScript开发的新手,我有以下情况。

在JSP页面中,我有一个具有以下strutcure的表

<TABLE class=standard-table-cls id=senttable>
    <TR class=odd>
        <TD>
            <INPUT name=item type=checkbox alt=Cancella value=68662>
        </TD>

        <TD> ......................................... </TD>
        <TD> ......................................... </TD>
        <TD> ......................................... </TD>
    <TR>

    <TR class=even>
        <TD>
            <INPUT name=item type=checkbox alt=Cancella value=68661>
        </TD>

        <TD> ......................................... </TD>
        <TD> ......................................... </TD>
        <TD> ......................................... </TD>
    <TR>

    <TR class=odd> ....................................................</TR>
    <TR class=even> ....................................................</TR>
    <TR class=odd> ....................................................</TR>
    <TR class=even> ....................................................</TR>
    ........................................................................
    ........................................................................

</TABLE>

正如您在此表中所见,有一个特定列(第一个)代表用户可以检查的复选框。此列始终设置,表示当前行所代表的对象的ID(在上一个示例中: 68662 68661 , etcetc)

我需要做的是创建一个JavaScript函数,该函数创建一个字符串,表示已检查行的字段的所有值的串联。

例如,如果检查前两行,则此字符串必须类似于: 68662-68661

我该怎么办?

TNX

2 个答案:

答案 0 :(得分:2)

您可以将$.fn.map方法与join结合使用:

var values = $('#senttable :checkbox:checked').map(function() {
    return this.value;
}).get().join('-');

答案 1 :(得分:1)

你可以改变你的html标记:

<input type="checkbox" name="item[]" value="68662" alt=Cancella>

然后,您可以调用以下javascript函数来获取所需的&#39; - &#39; 分隔字符串。

    function getString()
    {  
      $('input[name="item[]"]:checked').each(function() {

                var returnString="";

                 if($(this).is(':checked'))
                 {
                      var chkboxval = $(this).val();
                      returnString= chkboxval + "-" + returnString 
                  }
            }

          );

      return returnString;
    }