【问题标题】:Changing background color of inputfield of editable coloumn in primefaces datatable on value change在值更改时更改primefaces数据表中可编辑列上输入字段的背景颜色
【发布时间】:2012-02-18 08:08:04
【问题描述】:

我在 dataTable 中有一个可编辑的列。代码是:

<p:column id="articleDescription" headerText="Article Description" filterBy="#{article.description}" filterMatchMode="startsWith">
  <p:inputText id="description" value="#{article.description}"style="border:none; box-shadow:none;" />
</p:column>
  1. 我想更改 inputText 的背景颜色 - 事件描述 - valueChange。我该如何改变呢?
  2. 另外,它的默认背景颜色应该与其父行相同吗?可能吗?怎么做到呢?

谢谢, 希哈

【问题讨论】:

    标签: jsf-2 primefaces


    【解决方案1】:

    单元格的背景颜色设置为父行的颜色:

    .inputTextStyle {
        background-color: transparent !important;
    }
    
    <h:inputText id="vendorDiscountPerInputTxt"
        value="#{articlePromo.descPromoPorcentaje}"
        styleClass="inputTextStyle">
    </h:inputText>
    

    另外,在值更改事件中将单元格的背景颜色更改为:

    $(document.getElementById(str)).css("background-color", "pink !important");
    

    需要将其标记为重要,因为 primefaces 将其标记为重要。所以,要覆盖它。

    【讨论】:

      【解决方案2】:

      我想更改 inputText 的背景颜色 - 事件描述 - valueChange。我该如何改变呢?

      只需在输入元素的change 事件期间执行一些 JavaScript/jQuery(PrimeFaces 附带 jQuery,您无需自己安装)。


      另外,它的默认背景颜色应该与其父行相同吗?可能吗?怎么办?

      使用 jQuery 可以轻松获取父行并获取其 CSS background-color 属性。


      假设你要走 jQuery 的方向,它看起来像这样

      <p:inputText styleClass="changeable" />
      

      $(document).delegate("tr :input.changeable", "change", function() {
          var $this = $(this);
          $this.css('background-color', $this.closest('tr').css('background-color'));
      });
      

      【讨论】:

      • 样式类没有被选中。 &lt;p:column id="articleDescription" headerText="Article Description" filterBy="#{article.description}" filterMatchMode="startsWith"&gt; &lt;p:inputText value="#{article.description}" styleClass="inputfieldStyle" /&gt; &lt;/p:column&gt;' and I defined the same in css as .ui-inputfieldStyle { 边框:无;盒子阴影:无; }` 这有什么遗漏或不正确的?
      • 你给他们起了不同的名字。
      • 这里输入错误。两个地方都在使用“inputfieldStyle”。两个名字都是一样的。仍然没有得到应用。
      • 该类没有任何背景颜色。
      • 这里我只是使用边框和框阴影。如果我使用“样式”设置它,它可以正常工作。但如果我使用“styleClass”则不起作用
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-05
      • 2012-05-02
      • 2011-04-29
      • 1970-01-01
      • 2016-07-23
      • 2021-07-01
      相关资源
      最近更新 更多