Javascript 通过id链接更改td颜色
我需要更改Javascript 通过id链接更改td颜色,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我需要更改链接调用内容的背景 这是菜单代码: <li class="dropdown"> <a id="FV Orders_sub" class="dropdown-toggle" data-toggle="dropdown" role="button" href="#">Inserisci Contratto<b class="caret"></b></
链接调用内容的背景
这是菜单代码:
<li class="dropdown">
<a id="FV Orders_sub" class="dropdown-toggle" data-toggle="dropdown" role="button" href="#">Inserisci Contratto<b class="caret"></b></a>
<ul id="FV Orders_sub" class="dropdown-menu" role="menu">
<li>
<a href="index.php?module=SalesOrder&view=Edit&parenttab=FV Orders" id="nuovocontrattoFV">Nuovo Contratto</a>
</li>
<li>
<a href="index.php?module=SalesOrder&view=List&viewname=50" id="nuovocontrattoBIKE">Nuovo contratto bike</a>
</li>
</ul>
</li>
<td class="fieldLabel {$WIDTHTYPE}" id="fieldlabel">
{if $isReferenceField neq "reference"}<label class="muted pull-right marginRight10px">{/if}
{if $FIELD_MODEL->isMandatory() eq true && $isReferenceField neq "reference"} <span class="redColor">*</span> {/if}
{if $isReferenceField eq "reference"}
{assign var="REFERENCE_LIST" value=$FIELD_MODEL->getReferenceList()}
{assign var="REFERENCE_LIST_COUNT" value=count($REFERENCE_LIST)}
{if $REFERENCE_LIST_COUNT > 1}
{assign var="DISPLAYID" value=$FIELD_MODEL->get('fieldvalue')}
{assign var="REFERENCED_MODULE_STRUCT" value=$FIELD_MODEL->getUITypeModel()->getReferenceModule($DISPLAYID)}
{if !empty($REFERENCED_MODULE_STRUCT)}
{assign var="REFERENCED_MODULE_NAME" value=$REFERENCED_MODULE_STRUCT->get('name')}
{/if}
<span class="pull-right">
{if $FIELD_MODEL->isMandatory() eq true} <span class="redColor">*</span> {/if}
<select class="chzn-select referenceModulesList streched" style="width:140px;">
<optgroup>
{foreach key=index item=value from=$REFERENCE_LIST}
<option value="{$value}" {if $value eq $REFERENCED_MODULE_NAME} selected {/if}>{vtranslate($value, $MODULE)}</option>
{/foreach}
</optgroup>
</select>
</span>
{else}
<label class="muted pull-right marginRight10px">{if $FIELD_MODEL->isMandatory() eq true} <span class="redColor">*</span> {/if}{vtranslate($FIELD_MODEL->get('label'), $MODULE)}</label>
{/if}
{else if $FIELD_MODEL->get('uitype') eq "83"}
{include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE) COUNTER=$COUNTER}
{else}
{vtranslate($FIELD_MODEL->get('label'), $MODULE)}
{/if}
{if $isReferenceField neq "reference"}</label>{/if}
</td>
<td class="fieldLabel" id="fieldlabel">
<label class="muted pull-right marginRight10px">
<span class="redColor">*</span>
<span class="pull-right">
<span class="redColor">*</span>
<select class="chzn-select referenceModulesList streched" style="width:140px;">
<optgroup>
<option value=""></option>
</optgroup>
</select>
</span>
<label class="muted pull-right marginRight10px"><span class="redColor">*</span></label>
</label>
</td>
td.highlighted {
background-color: #AAF; /* a nice, pleasing shade of purple */
}
window.util = (function() {
return {
// class manipulation from http://www.openjs.com/scripts/dom/class_manipulation.php
// taken from https://gist.github.com/jbergantine/1165817
hasClass: function(ele,cls) {
return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
},
addClass: function(ele,cls) {
if (!this.hasClass(ele,cls)) ele.className += " "+cls;
},
removeClass: function(ele,cls) {
if (this.hasClass(ele,cls)) {
var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
ele.className=ele.className.replace(reg,' ');
}
}
};
})();
var tdClick = function(event) {
var util = window.util;
// if clicked element is a highlightable <td>
if (util.hasClass(event.toElement, "clickToHighlight")) {
// toggle class
if (util.hasClass(event.toElement, "highlighted")) {
util.removeClass(event.toElement, "highlighted");
} else {
util.addClass(event.toElement, "highlighted");
}
}
}
document.getElementById("tableId").addEventListener("click", tdClick);
$("#tableId").on("click", ".clickToHighlight", function(e) {
var $this = $(this);
if ($this.is(".clickToHighlight")) {
$this.toggleClass("highlighted");
}
});
-
-
这是内容代码:
<li class="dropdown">
<a id="FV Orders_sub" class="dropdown-toggle" data-toggle="dropdown" role="button" href="#">Inserisci Contratto<b class="caret"></b></a>
<ul id="FV Orders_sub" class="dropdown-menu" role="menu">
<li>
<a href="index.php?module=SalesOrder&view=Edit&parenttab=FV Orders" id="nuovocontrattoFV">Nuovo Contratto</a>
</li>
<li>
<a href="index.php?module=SalesOrder&view=List&viewname=50" id="nuovocontrattoBIKE">Nuovo contratto bike</a>
</li>
</ul>
</li>
<td class="fieldLabel {$WIDTHTYPE}" id="fieldlabel">
{if $isReferenceField neq "reference"}<label class="muted pull-right marginRight10px">{/if}
{if $FIELD_MODEL->isMandatory() eq true && $isReferenceField neq "reference"} <span class="redColor">*</span> {/if}
{if $isReferenceField eq "reference"}
{assign var="REFERENCE_LIST" value=$FIELD_MODEL->getReferenceList()}
{assign var="REFERENCE_LIST_COUNT" value=count($REFERENCE_LIST)}
{if $REFERENCE_LIST_COUNT > 1}
{assign var="DISPLAYID" value=$FIELD_MODEL->get('fieldvalue')}
{assign var="REFERENCED_MODULE_STRUCT" value=$FIELD_MODEL->getUITypeModel()->getReferenceModule($DISPLAYID)}
{if !empty($REFERENCED_MODULE_STRUCT)}
{assign var="REFERENCED_MODULE_NAME" value=$REFERENCED_MODULE_STRUCT->get('name')}
{/if}
<span class="pull-right">
{if $FIELD_MODEL->isMandatory() eq true} <span class="redColor">*</span> {/if}
<select class="chzn-select referenceModulesList streched" style="width:140px;">
<optgroup>
{foreach key=index item=value from=$REFERENCE_LIST}
<option value="{$value}" {if $value eq $REFERENCED_MODULE_NAME} selected {/if}>{vtranslate($value, $MODULE)}</option>
{/foreach}
</optgroup>
</select>
</span>
{else}
<label class="muted pull-right marginRight10px">{if $FIELD_MODEL->isMandatory() eq true} <span class="redColor">*</span> {/if}{vtranslate($FIELD_MODEL->get('label'), $MODULE)}</label>
{/if}
{else if $FIELD_MODEL->get('uitype') eq "83"}
{include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE) COUNTER=$COUNTER}
{else}
{vtranslate($FIELD_MODEL->get('label'), $MODULE)}
{/if}
{if $isReferenceField neq "reference"}</label>{/if}
</td>
<td class="fieldLabel" id="fieldlabel">
<label class="muted pull-right marginRight10px">
<span class="redColor">*</span>
<span class="pull-right">
<span class="redColor">*</span>
<select class="chzn-select referenceModulesList streched" style="width:140px;">
<optgroup>
<option value=""></option>
</optgroup>
</select>
</span>
<label class="muted pull-right marginRight10px"><span class="redColor">*</span></label>
</label>
</td>
td.highlighted {
background-color: #AAF; /* a nice, pleasing shade of purple */
}
window.util = (function() {
return {
// class manipulation from http://www.openjs.com/scripts/dom/class_manipulation.php
// taken from https://gist.github.com/jbergantine/1165817
hasClass: function(ele,cls) {
return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
},
addClass: function(ele,cls) {
if (!this.hasClass(ele,cls)) ele.className += " "+cls;
},
removeClass: function(ele,cls) {
if (this.hasClass(ele,cls)) {
var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
ele.className=ele.className.replace(reg,' ');
}
}
};
})();
var tdClick = function(event) {
var util = window.util;
// if clicked element is a highlightable <td>
if (util.hasClass(event.toElement, "clickToHighlight")) {
// toggle class
if (util.hasClass(event.toElement, "highlighted")) {
util.removeClass(event.toElement, "highlighted");
} else {
util.addClass(event.toElement, "highlighted");
}
}
}
document.getElementById("tableId").addEventListener("click", tdClick);
$("#tableId").on("click", ".clickToHighlight", function(e) {
var $this = $(this);
if ($this.is(".clickToHighlight")) {
$this.toggleClass("highlighted");
}
});
{if$isReferenceField neq“reference”}{/if}
{if$FIELD_MODEL->isMandatory()eq true&&$isReferenceField neq“reference”}*{/if}
{如果$isReferenceField eq“reference”}
{assign var=“REFERENCE\u LIST”value=$FIELD\u MODEL->getReferenceList()}
{assign var=“REFERENCE\u LIST\u COUNT”value=COUNT($REFERENCE\u LIST)}
{如果$REFERENCE\u LIST\u COUNT>1}
{assign var=“DISPLAYID”value=$FIELD\u MODEL->get('fieldvalue')}
{assign var=“REFERENCED\u MODULE\u STRUCT”value=$FIELD\u MODEL->getUITypeModel()->getReferenceModule($DISPLAYID)}
{if!空($REFERENCED_MODULE_STRUCT)}
{assign var=“REFERENCED_MODULE_NAME”value=$REFERENCED_MODULE_STRUCT->get('NAME')}
{/if}
{if$FIELD_MODEL->isMandatory()eq true}*{/if}
{foreach key=index item=value from=$REFERENCE\u LIST}
{vtranslate($value$MODULE)}
{/foreach}
{else}
{if$FIELD\u MODEL->isMandatory()eq true}*{/if}{vtranslate($FIELD\u MODEL->get('label'),$MODULE)}
{/if}
{如果$FIELD\u MODEL->get('uitype')eq“83”}
{include file=vtemplate\u path($FIELD\u MODEL->getUITypeModel()->getTemplateName(),$MODULE)COUNTER=$COUNTER}
{else}
{vtranslate($FIELD_MODEL->get('label'),$MODULE)}
{/if}
{if$isReferenceField neq“reference”}{/if}
我试图在网上找到一些东西,但什么也找不到。
当用户单击td元素时,我需要为其添加不同的背景色。您可以通过javascript直接执行此操作,方法是在
单击事件的元素中添加事件侦听器
这可以通过调用元素上的addEventListener
方法来实现,您可以通过调用文档上的getElementById
通过id
来检索该方法
HTML:
和
和
所以适应了你的td
的id
:
HTML:
编辑:
<li class="dropdown">
<a id="FV Orders_sub" class="dropdown-toggle" data-toggle="dropdown" role="button" href="#">Inserisci Contratto<b class="caret"></b></a>
<ul id="FV Orders_sub" class="dropdown-menu" role="menu">
<li>
<a href="index.php?module=SalesOrder&view=Edit&parenttab=FV Orders" id="nuovocontrattoFV">Nuovo Contratto</a>
</li>
<li>
<a href="index.php?module=SalesOrder&view=List&viewname=50" id="nuovocontrattoBIKE">Nuovo contratto bike</a>
</li>
</ul>
</li>
<td class="fieldLabel {$WIDTHTYPE}" id="fieldlabel">
{if $isReferenceField neq "reference"}<label class="muted pull-right marginRight10px">{/if}
{if $FIELD_MODEL->isMandatory() eq true && $isReferenceField neq "reference"} <span class="redColor">*</span> {/if}
{if $isReferenceField eq "reference"}
{assign var="REFERENCE_LIST" value=$FIELD_MODEL->getReferenceList()}
{assign var="REFERENCE_LIST_COUNT" value=count($REFERENCE_LIST)}
{if $REFERENCE_LIST_COUNT > 1}
{assign var="DISPLAYID" value=$FIELD_MODEL->get('fieldvalue')}
{assign var="REFERENCED_MODULE_STRUCT" value=$FIELD_MODEL->getUITypeModel()->getReferenceModule($DISPLAYID)}
{if !empty($REFERENCED_MODULE_STRUCT)}
{assign var="REFERENCED_MODULE_NAME" value=$REFERENCED_MODULE_STRUCT->get('name')}
{/if}
<span class="pull-right">
{if $FIELD_MODEL->isMandatory() eq true} <span class="redColor">*</span> {/if}
<select class="chzn-select referenceModulesList streched" style="width:140px;">
<optgroup>
{foreach key=index item=value from=$REFERENCE_LIST}
<option value="{$value}" {if $value eq $REFERENCED_MODULE_NAME} selected {/if}>{vtranslate($value, $MODULE)}</option>
{/foreach}
</optgroup>
</select>
</span>
{else}
<label class="muted pull-right marginRight10px">{if $FIELD_MODEL->isMandatory() eq true} <span class="redColor">*</span> {/if}{vtranslate($FIELD_MODEL->get('label'), $MODULE)}</label>
{/if}
{else if $FIELD_MODEL->get('uitype') eq "83"}
{include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE) COUNTER=$COUNTER}
{else}
{vtranslate($FIELD_MODEL->get('label'), $MODULE)}
{/if}
{if $isReferenceField neq "reference"}</label>{/if}
</td>
<td class="fieldLabel" id="fieldlabel">
<label class="muted pull-right marginRight10px">
<span class="redColor">*</span>
<span class="pull-right">
<span class="redColor">*</span>
<select class="chzn-select referenceModulesList streched" style="width:140px;">
<optgroup>
<option value=""></option>
</optgroup>
</select>
</span>
<label class="muted pull-right marginRight10px"><span class="redColor">*</span></label>
</label>
</td>
td.highlighted {
background-color: #AAF; /* a nice, pleasing shade of purple */
}
window.util = (function() {
return {
// class manipulation from http://www.openjs.com/scripts/dom/class_manipulation.php
// taken from https://gist.github.com/jbergantine/1165817
hasClass: function(ele,cls) {
return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
},
addClass: function(ele,cls) {
if (!this.hasClass(ele,cls)) ele.className += " "+cls;
},
removeClass: function(ele,cls) {
if (this.hasClass(ele,cls)) {
var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
ele.className=ele.className.replace(reg,' ');
}
}
};
})();
var tdClick = function(event) {
var util = window.util;
// if clicked element is a highlightable <td>
if (util.hasClass(event.toElement, "clickToHighlight")) {
// toggle class
if (util.hasClass(event.toElement, "highlighted")) {
util.removeClass(event.toElement, "highlighted");
} else {
util.addClass(event.toElement, "highlighted");
}
}
}
document.getElementById("tableId").addEventListener("click", tdClick);
$("#tableId").on("click", ".clickToHighlight", function(e) {
var $this = $(this);
if ($this.is(".clickToHighlight")) {
$this.toggleClass("highlighted");
}
});
如果希望菜单项上唯一ID的单独行为影响相同的
元素,则可以将每个按钮的一些单击事件行为分配给每个链接
,并让该函数直接更改颜色或创建一个包装函数来处理它们。我建议使用第二种方法,因为如果您希望在以后进行更改,那么更改一个函数就更容易了,而且还需要检查代码的更大部分
HTML:
这样,如果您想拥有更多选项,只需通过添加以下事件处理程序来修改代码:
document.getElementById("nuovocontrattoFV").addEventListener("click",
function () {
switchTDBackgroundColor(this.id);
}
);
document.getElementById("nuovocontrattoBIKE").addEventListener("click",
function () {
switchTDBackgroundColor(this.id);
}
);
// ONLY HAVE TO CHANGE THE ARGUMENT FOR getElementById
document.getElementById("newListItem").addEventListener("click",
function () {
switchTDBackgroundColor(this.id);
}
);
function switchTDBackgroundColor(id) {
var color = "white"; // A default setting
if (id == "nuovocontrattoBIKE") {
color = "blue";
} else if (id == "nuovocontrattoFV") {
color = "red";
} else if (id == "newListItem") { // Just Add this check
color = "yellow"; // And set to desired color
}
document.getElementById("fieldlabel").style["background-color"] = color;
}
注意:我在jsfiddle示例中的链接上的href
中添加了hashtags,这只是为了避免重定向,因此只显示颜色更改行为
编辑2:
<li class="dropdown">
<a id="FV Orders_sub" class="dropdown-toggle" data-toggle="dropdown" role="button" href="#">Inserisci Contratto<b class="caret"></b></a>
<ul id="FV Orders_sub" class="dropdown-menu" role="menu">
<li>
<a href="index.php?module=SalesOrder&view=Edit&parenttab=FV Orders" id="nuovocontrattoFV">Nuovo Contratto</a>
</li>
<li>
<a href="index.php?module=SalesOrder&view=List&viewname=50" id="nuovocontrattoBIKE">Nuovo contratto bike</a>
</li>
</ul>
</li>
<td class="fieldLabel {$WIDTHTYPE}" id="fieldlabel">
{if $isReferenceField neq "reference"}<label class="muted pull-right marginRight10px">{/if}
{if $FIELD_MODEL->isMandatory() eq true && $isReferenceField neq "reference"} <span class="redColor">*</span> {/if}
{if $isReferenceField eq "reference"}
{assign var="REFERENCE_LIST" value=$FIELD_MODEL->getReferenceList()}
{assign var="REFERENCE_LIST_COUNT" value=count($REFERENCE_LIST)}
{if $REFERENCE_LIST_COUNT > 1}
{assign var="DISPLAYID" value=$FIELD_MODEL->get('fieldvalue')}
{assign var="REFERENCED_MODULE_STRUCT" value=$FIELD_MODEL->getUITypeModel()->getReferenceModule($DISPLAYID)}
{if !empty($REFERENCED_MODULE_STRUCT)}
{assign var="REFERENCED_MODULE_NAME" value=$REFERENCED_MODULE_STRUCT->get('name')}
{/if}
<span class="pull-right">
{if $FIELD_MODEL->isMandatory() eq true} <span class="redColor">*</span> {/if}
<select class="chzn-select referenceModulesList streched" style="width:140px;">
<optgroup>
{foreach key=index item=value from=$REFERENCE_LIST}
<option value="{$value}" {if $value eq $REFERENCED_MODULE_NAME} selected {/if}>{vtranslate($value, $MODULE)}</option>
{/foreach}
</optgroup>
</select>
</span>
{else}
<label class="muted pull-right marginRight10px">{if $FIELD_MODEL->isMandatory() eq true} <span class="redColor">*</span> {/if}{vtranslate($FIELD_MODEL->get('label'), $MODULE)}</label>
{/if}
{else if $FIELD_MODEL->get('uitype') eq "83"}
{include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE) COUNTER=$COUNTER}
{else}
{vtranslate($FIELD_MODEL->get('label'), $MODULE)}
{/if}
{if $isReferenceField neq "reference"}</label>{/if}
</td>
<td class="fieldLabel" id="fieldlabel">
<label class="muted pull-right marginRight10px">
<span class="redColor">*</span>
<span class="pull-right">
<span class="redColor">*</span>
<select class="chzn-select referenceModulesList streched" style="width:140px;">
<optgroup>
<option value=""></option>
</optgroup>
</select>
</span>
<label class="muted pull-right marginRight10px"><span class="redColor">*</span></label>
</label>
</td>
td.highlighted {
background-color: #AAF; /* a nice, pleasing shade of purple */
}
window.util = (function() {
return {
// class manipulation from http://www.openjs.com/scripts/dom/class_manipulation.php
// taken from https://gist.github.com/jbergantine/1165817
hasClass: function(ele,cls) {
return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
},
addClass: function(ele,cls) {
if (!this.hasClass(ele,cls)) ele.className += " "+cls;
},
removeClass: function(ele,cls) {
if (this.hasClass(ele,cls)) {
var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
ele.className=ele.className.replace(reg,' ');
}
}
};
})();
var tdClick = function(event) {
var util = window.util;
// if clicked element is a highlightable <td>
if (util.hasClass(event.toElement, "clickToHighlight")) {
// toggle class
if (util.hasClass(event.toElement, "highlighted")) {
util.removeClass(event.toElement, "highlighted");
} else {
util.addClass(event.toElement, "highlighted");
}
}
}
document.getElementById("tableId").addEventListener("click", tdClick);
$("#tableId").on("click", ".clickToHighlight", function(e) {
var $this = $(this);
if ($this.is(".clickToHighlight")) {
$this.toggleClass("highlighted");
}
});
对于jQuery自适应
$("#nuovocontrattoFV").click(
function () {
switchTDBackgroundColor($(this).attr("id"));
}
);
$("#nuovocontrattoBIKE").click(
function () {
switchTDBackgroundColor($(this).attr("id"));
}
);
// ONLY HAVE TO CHANGE THE ARGUMENT FOR getElementById
$("#newListItem").click(
function () {
switchTDBackgroundColor($(this).attr("id"));
}
);
function switchTDBackgroundColor(id) {
var color = "white"; // A default setting
if (id == "nuovocontrattoBIKE") {
color = "blue";
} else if (id == "nuovocontrattoFV") {
color = "red";
} else if (id == "newListItem") { // Just Add this check
color = "yellow"; // And set to desired color
}
$("#fieldlabel").css("background-color",color);
}
并且您需要使用Javascript onclick事件来触发更改。在Javascript函数中,可以将元素传递到函数中
HTML
或者
或者
HTML:
<li class="dropdown">
<a id="FV Orders_sub" class="dropdown-toggle" data-toggle="dropdown" role="button" href="#">Inserisci Contratto<b class="caret"></b></a>
<ul id="FV Orders_sub" class="dropdown-menu" role="menu">
<li>
<a href="index.php?module=SalesOrder&view=Edit&parenttab=FV Orders" id="nuovocontrattoFV">Nuovo Contratto</a>
</li>
<li>
<a href="index.php?module=SalesOrder&view=List&viewname=50" id="nuovocontrattoBIKE">Nuovo contratto bike</a>
</li>
</ul>
</li>
<td class="fieldLabel {$WIDTHTYPE}" id="fieldlabel">
{if $isReferenceField neq "reference"}<label class="muted pull-right marginRight10px">{/if}
{if $FIELD_MODEL->isMandatory() eq true && $isReferenceField neq "reference"} <span class="redColor">*</span> {/if}
{if $isReferenceField eq "reference"}
{assign var="REFERENCE_LIST" value=$FIELD_MODEL->getReferenceList()}
{assign var="REFERENCE_LIST_COUNT" value=count($REFERENCE_LIST)}
{if $REFERENCE_LIST_COUNT > 1}
{assign var="DISPLAYID" value=$FIELD_MODEL->get('fieldvalue')}
{assign var="REFERENCED_MODULE_STRUCT" value=$FIELD_MODEL->getUITypeModel()->getReferenceModule($DISPLAYID)}
{if !empty($REFERENCED_MODULE_STRUCT)}
{assign var="REFERENCED_MODULE_NAME" value=$REFERENCED_MODULE_STRUCT->get('name')}
{/if}
<span class="pull-right">
{if $FIELD_MODEL->isMandatory() eq true} <span class="redColor">*</span> {/if}
<select class="chzn-select referenceModulesList streched" style="width:140px;">
<optgroup>
{foreach key=index item=value from=$REFERENCE_LIST}
<option value="{$value}" {if $value eq $REFERENCED_MODULE_NAME} selected {/if}>{vtranslate($value, $MODULE)}</option>
{/foreach}
</optgroup>
</select>
</span>
{else}
<label class="muted pull-right marginRight10px">{if $FIELD_MODEL->isMandatory() eq true} <span class="redColor">*</span> {/if}{vtranslate($FIELD_MODEL->get('label'), $MODULE)}</label>
{/if}
{else if $FIELD_MODEL->get('uitype') eq "83"}
{include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE) COUNTER=$COUNTER}
{else}
{vtranslate($FIELD_MODEL->get('label'), $MODULE)}
{/if}
{if $isReferenceField neq "reference"}</label>{/if}
</td>
<td class="fieldLabel" id="fieldlabel">
<label class="muted pull-right marginRight10px">
<span class="redColor">*</span>
<span class="pull-right">
<span class="redColor">*</span>
<select class="chzn-select referenceModulesList streched" style="width:140px;">
<optgroup>
<option value=""></option>
</optgroup>
</select>
</span>
<label class="muted pull-right marginRight10px"><span class="redColor">*</span></label>
</label>
</td>
td.highlighted {
background-color: #AAF; /* a nice, pleasing shade of purple */
}
window.util = (function() {
return {
// class manipulation from http://www.openjs.com/scripts/dom/class_manipulation.php
// taken from https://gist.github.com/jbergantine/1165817
hasClass: function(ele,cls) {
return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
},
addClass: function(ele,cls) {
if (!this.hasClass(ele,cls)) ele.className += " "+cls;
},
removeClass: function(ele,cls) {
if (this.hasClass(ele,cls)) {
var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
ele.className=ele.className.replace(reg,' ');
}
}
};
})();
var tdClick = function(event) {
var util = window.util;
// if clicked element is a highlightable <td>
if (util.hasClass(event.toElement, "clickToHighlight")) {
// toggle class
if (util.hasClass(event.toElement, "highlighted")) {
util.removeClass(event.toElement, "highlighted");
} else {
util.addClass(event.toElement, "highlighted");
}
}
}
document.getElementById("tableId").addEventListener("click", tdClick);
$("#tableId").on("click", ".clickToHighlight", function(e) {
var $this = $(this);
if ($this.is(".clickToHighlight")) {
$this.toggleClass("highlighted");
}
});
JavaScript:
<li class="dropdown">
<a id="FV Orders_sub" class="dropdown-toggle" data-toggle="dropdown" role="button" href="#">Inserisci Contratto<b class="caret"></b></a>
<ul id="FV Orders_sub" class="dropdown-menu" role="menu">
<li>
<a href="index.php?module=SalesOrder&view=Edit&parenttab=FV Orders" id="nuovocontrattoFV">Nuovo Contratto</a>
</li>
<li>
<a href="index.php?module=SalesOrder&view=List&viewname=50" id="nuovocontrattoBIKE">Nuovo contratto bike</a>
</li>
</ul>
</li>
<td class="fieldLabel {$WIDTHTYPE}" id="fieldlabel">
{if $isReferenceField neq "reference"}<label class="muted pull-right marginRight10px">{/if}
{if $FIELD_MODEL->isMandatory() eq true && $isReferenceField neq "reference"} <span class="redColor">*</span> {/if}
{if $isReferenceField eq "reference"}
{assign var="REFERENCE_LIST" value=$FIELD_MODEL->getReferenceList()}
{assign var="REFERENCE_LIST_COUNT" value=count($REFERENCE_LIST)}
{if $REFERENCE_LIST_COUNT > 1}
{assign var="DISPLAYID" value=$FIELD_MODEL->get('fieldvalue')}
{assign var="REFERENCED_MODULE_STRUCT" value=$FIELD_MODEL->getUITypeModel()->getReferenceModule($DISPLAYID)}
{if !empty($REFERENCED_MODULE_STRUCT)}
{assign var="REFERENCED_MODULE_NAME" value=$REFERENCED_MODULE_STRUCT->get('name')}
{/if}
<span class="pull-right">
{if $FIELD_MODEL->isMandatory() eq true} <span class="redColor">*</span> {/if}
<select class="chzn-select referenceModulesList streched" style="width:140px;">
<optgroup>
{foreach key=index item=value from=$REFERENCE_LIST}
<option value="{$value}" {if $value eq $REFERENCED_MODULE_NAME} selected {/if}>{vtranslate($value, $MODULE)}</option>
{/foreach}
</optgroup>
</select>
</span>
{else}
<label class="muted pull-right marginRight10px">{if $FIELD_MODEL->isMandatory() eq true} <span class="redColor">*</span> {/if}{vtranslate($FIELD_MODEL->get('label'), $MODULE)}</label>
{/if}
{else if $FIELD_MODEL->get('uitype') eq "83"}
{include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE) COUNTER=$COUNTER}
{else}
{vtranslate($FIELD_MODEL->get('label'), $MODULE)}
{/if}
{if $isReferenceField neq "reference"}</label>{/if}
</td>
<td class="fieldLabel" id="fieldlabel">
<label class="muted pull-right marginRight10px">
<span class="redColor">*</span>
<span class="pull-right">
<span class="redColor">*</span>
<select class="chzn-select referenceModulesList streched" style="width:140px;">
<optgroup>
<option value=""></option>
</optgroup>
</select>
</span>
<label class="muted pull-right marginRight10px"><span class="redColor">*</span></label>
</label>
</td>
td.highlighted {
background-color: #AAF; /* a nice, pleasing shade of purple */
}
window.util = (function() {
return {
// class manipulation from http://www.openjs.com/scripts/dom/class_manipulation.php
// taken from https://gist.github.com/jbergantine/1165817
hasClass: function(ele,cls) {
return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
},
addClass: function(ele,cls) {
if (!this.hasClass(ele,cls)) ele.className += " "+cls;
},
removeClass: function(ele,cls) {
if (this.hasClass(ele,cls)) {
var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
ele.className=ele.className.replace(reg,' ');
}
}
};
})();
var tdClick = function(event) {
var util = window.util;
// if clicked element is a highlightable <td>
if (util.hasClass(event.toElement, "clickToHighlight")) {
// toggle class
if (util.hasClass(event.toElement, "highlighted")) {
util.removeClass(event.toElement, "highlighted");
} else {
util.addClass(event.toElement, "highlighted");
}
}
}
document.getElementById("tableId").addEventListener("click", tdClick);
$("#tableId").on("click", ".clickToHighlight", function(e) {
var $this = $(this);
if ($this.is(".clickToHighlight")) {
$this.toggleClass("highlighted");
}
});
您会注意到我正在将事件处理程序附加到表本身。这是因为,对于一个足够大的表,将事件直接附加到每个元素可能会导致性能问题,如果可以通过AJAX更新该表,那么您还需要将新的事件处理程序附加到每个新生成的表单元。我使用的技术称为“事件委派”,我们将事件监听器委派给父元素,在父元素中,它将处理每个单击事件,过滤出哪些事件是重要的并对其采取行动,而不是有几十个或数百个单独的监听器。是否需要根据不同的链接更改为不同的颜色?还是相同的颜色?是的,同一表格的不同链接上有不同的颜色。我想你正在寻找这样的东西:。尝试单击颜色我正在寻找的正确组合是farmerjoe建议的组合。我需要的是:如果id=“Nuovocontratofv”,则td set fieldlabel background color=yellow如果id=“Nuovocontratobike”,则set fieldlabel td background color=redI进行编辑以包含您的评论,如果这能回答你的问题,请告诉我。谢谢,这正是我要找的。但它不起作用。。。为什么?@JoeWeb没问题!很高兴能提供帮助,我编辑了最后一个JSFIDLE链接并进行了检查,它可以在我的浏览器上运行,什么功能对您不起作用?很抱歉,它对我不起作用。。。我不知道为什么。我正在尝试JSFIDLE您的上一个版本,但它从来都不适用