【问题标题】:Struts2 checkbox label to change with jqueryStruts2复选框标签用jquery改变
【发布时间】:2013-08-25 17:38:06
【问题描述】:

我正在使用 jquery 来更改复选框的标签。

use strict';
$("#chId").click(function () {
   if (this.checked) {
         $('#divId').html("Checked");
   }
   else{
         $('#divId').html("Un-Checked");
   }

});

如果我在常规 html 样式中指定复选框,它可以正常工作

<input type="checkbox" id="chId"/> 
<div id='divId'>Checked</div>

有几个复选框,我为每个文本使用不同的“divId”来更改 但是,我需要使用带有“label”属性的 struts 复选框标记来指定它。 我知道当它像这样完成时,我会将标签在 html 上呈现为

<label for"checkbox_class">Checked</label>

如果只更改 jquery 以按类“标签”进行选择,它将起作用

$('.label').html("Checked");

但是,如果我有多个复选框,所有标签都将具有相同的类“.label”,我不知道如何通过不同的复选框更改不同的文本 基本上,我想要么 1) 有 5 个标签都有不同的类别 "label1", ... "label5" 或 2)在每个标签上都有 id 以便...或 3) 能够在 jquery 选择器中使用“for”属性吗? 我认为#(3) 是我最好的选择,但我不知道该怎么做。
任何人都可以帮忙吗? 谢谢

【问题讨论】:

    标签: jquery struts2 jsp-tags


    【解决方案1】:

    为您的复选框提供类和 id 属性,并使用 jQuery attribute equals selector 获取标签元素,其中for 属性等于复选框 id。

    <script type="text/javascript">
      $(function () {
        $(".checkb").click(function () {
          if(this.checked) {
            $("label[for="+this.id+"]").html("Checked");
          }else {
            $("label[for="+this.id+"]").html("Un-Checked");
          }
        });
      });
    </script>
    
    <s:checkbox cssClass="checkb" id="checkid1" name="check1" label="Un-Checked"/>
    <s:checkbox cssClass="checkb" id="checkid2" name="check2" label="Un-Checked"/>
    

    【讨论】:

      猜你喜欢
      • 2012-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-10
      • 1970-01-01
      • 1970-01-01
      • 2013-06-07
      • 2010-11-14
      相关资源
      最近更新 更多