jQuery相当新,并且遇到问题。为了清晰起见,将其简化。jQuery选项卡 - 当前选项卡中的参考标签?
比方说,我有3个选项卡,所有这些选项卡都有一个具有相同ID的按钮和一个带有相同ID的标签。当用户单击选项卡1上的按钮时,我想引用选项卡1上的标签中的.html()。当用户单击按钮选项卡2时,我想从选项卡2上的标签引用.html() 。等等
有没有一种简单的方法来得到这个,或者我必须有每个标签/按钮做它的唯一ID?
在此先感谢。
编辑:添加代码,这是我的index.jsp与现有的标签:
<div id="tabs">
<ul>
<li>
<a href="${pageContext.request.contextPath}/your_searches" id="tab1"><span>My Searches</span></a>
</li>
<li>
<a href="${pageContext.request.contextPath}/public_searches" id="tab2"><span>Public Searches</span></a>
</li>
<li>
<a href="${pageContext.request.contextPath}/new_search" id="tab3"><span>New Search</span></a>
</li>
<li>
<a href="#tabs-4" id="tab4">View Article</a>
</li>
</ul>
<div id="tabs-1"></div>
<div id="tabs-2"></div>
<div id="tabs-3"></div>
<div id="tabs-4"> <%@include file="view_article2.jsp"%></div>
</div>
<div id="dialog" title="Alert!"></div>
<div id="editDialog" title="Alert!"></div>
<div id="editDialogYourSearch" title="Alert!"></div>
<div id="updateSearchCriteriaDialog" title="Alert!"></div>
存在是相当复杂的jQuery的,但使用该上的click事件增加了一个标签:
$("#" + tabId).load($("#context").val() + '/resources/templates/searchResultsTemplate.html', function() {
var html = $("#" + tabId).html();
$("#" + tabId).html(html.replace(/#tabId#/g, tabId));
var headlnTrEnabled = data.searchResults.searchVO.headlnTrEnabled;
var docTrEnabled = data.searchResults.searchVO.docTrEnabled;
var languageName = data.searchResults.searchVO.languageName;
if(headlnTrEnabled == 0) {
document.getElementById("translated-" + tabId).disabled=true;
$("label[for='translated-" + tabId + "']").text("Language translation is unavailable for '" + languageName + "'");
}
// Process the click event on the 'translated' checkbox
processTranslationSupportedCheckboxEvents(tabId);
//alert("new_search queryAndPopulateArticlesSearchResults: before populateResultsPageSearchCriteria");
// Set Search Criteria value in Search Results' hidden fields
populateResultsPageSearchCriteria(data.searchResults, tabId);
// Initialize DataTable
initDataTable('#articleTable-' + tabId);
// Define double-click method on data rows
initArticleTableDoubleClick('#articleTable-',
tabId,
data.searchResults.searchVO.languageCode,
"#error");
// Populate Search Results UI from article list
// var counter = populateSearchResultsTable(tabId, data.searchResults.articleList);
checkHighlight();
$('#searchInfo').html(data.hash);
在这些添加的选项卡(searchResultsTemplate.html)中,我需要引用按钮单击中的标签。下面是简单的HTML我有thusfar:
<input type="checkbox" id="translated-#tabId#"/><label for="translated-#tabId#">Translate Article Titles</label>
<div align="right"><input type="button" value="Export Excel CSV File.." id="exp-csv" />
<br>
<label id="DownloadLink"></label>
</div>
<input id = "btnSubmit" type="submit" value="Release"/>
<p id="searchTitle-#tabId#" name="searchTitle"></p>
<label id="searchInfo">None</label>
的#EXP-CSV按钮需要引用当前所选选项卡上的#searchInfo标签。
您需要使用DOM遍历来实现这一点,但我们需要查看您的HTML以向您显示如何。 –
ID根据定义是唯一的,并且在您的HTML中包含重复的id属性是无效的。请发布您的HTML,以便我们确信您有什么以及您尝试完成什么 –
已更新,以添加代码。 – ev0lution37