Является новым для jquery. У меня есть одна форма jsp, в которой я вызываю функцию javascript в onload. Я хочу загрузить некоторые значения в combobox, который находится в iframe, используя jquery-1.4.2.js, но я не могу добавить.с использованием jquery добавить значения в combobox
пожалуйста, любой дают решения заранее спасибо
услышать мой JSP код
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onLoad="javascript:getStateCountryDetail(<%=companyId%>,1,<%=countryId%>, <%=stateId%>)">
<table border="0" cellpadding="0" cellspacing="0" width="100%" >
<td width="100%" align="left" style="padding:3px" valign="top">
<table border="0" width="100%" bordercolor="#cce7fa" cellpadding="0" cellspacing="0" style="border-collapse:collapse">
<tr>
<td width="100%" align="left" valign="top">
<iframe id = "applyMultipleInnerFrame" src ="/jsp/careers/applyMultipleCandidateResumeData.jsp?companyid=<%=companyId%>" name="applyMultipleInnerFrame" width="1100px" height="197px" frameborder="0" scrolling="Yes"></iframe>
</td>
</tr>
</table>
</td>
</tr>
</table>
</form>
</body>
Услышь мой IFrame JSP
я содержит выпадающий список
<body>
<form name="applyMultipleCandidateResumeData" method="POST" target="_top" action="http://<%=sName%>/jsp/careers/jobListingMainPage.jsp" enctype="multipart/form-data">
<table align="left" width="100%" border=1 bordercolor="#ff9900" cellspacing=0 cellpadding="0" style="border-collapse:collapse">
<td nowrap width="10%" align="left" style="border-color:#ff9900;color: black; font: 11px verdana;padding:2px" >
<input type="text" maxlength="64" size="9" value="" name="candidateCity_<%= i %>" id="candidateCity_<%= i %>" />
</td>
<td nowrap width="10%" align="left" style="border-color:#ff9900;color: black; font: 11px verdana;padding:2px" >
<select id = "candidateCountry_<%= i %>" name="candidateCountry_<%= i %>" class="controlStyle" onChange="loadState(this.value,'<%=i%>');">
<option value="0">-------- Select --------</option>
</select>
</td>
<td nowrap width="10%" align="left" style="border-color:#ff9900;color: black; font: 11px verdana;padding:2px" >
<select id="candidateState_<%= i %>" name="candidateState_<%= i %>" class="controlStyle">
<option value="0">----------- Select ---------</option>
</select>
</td>
</table>
</form>
</body>
я используйте следующий код, чтобы получить объект iframe с помощью jqu чень, но я не знаю, правильно или нет ли
var frm = $("#applyMultipleInnerFrame").contents());
Вот мой JQuery код
xmlDoc
мой jsone ответ, который содержит список стран
var frm = $("#applyMultipleInnerFrame").contents());
for(var i=0;i<5;i++) {
if ($(frm).find('input[name=candidateCountry_' + i + ']') && $(frm).find('input[name=candidateCountry_' + i + '] option')) {
$(frm).find('input[name=candidateCountry_' + i + '] option').length = 0;
if (xmlDoc.countryList) {
$(frm).find('input[name=candidateCountry_' + i + '] option')[$(frm).find('input[name=candidateCountry_' + i + '] option').length] = new Option("-- Select --", 0);
for (var k = 0; k < xmlDoc.countryList.length; k++) {
$(frm).find('input[name=candidateCountry_' + i + '] option')[$(frm).find('input[name=candidateCountry_' + i + '] option').length] = new Option(xmlDoc.countryList[k].name, xmlDoc.countryList[k].id);
if ((xmlDoc.countryList[k].id) == dCountryId) {
alert($($(frm).find('input[name=candidateCountry_' + i + ']').text()));
//alert($(frm).find('input[name=candidateCountry_'+i+']').val(dCountryId).text());
//$(frm).find('input[name=candidateCountry_"+i+"] option').eq(dCountryId).attr('selected', 'selected');
}
}
}
//alert($(frm).find('input[name=candidateCountry_'+i+']) option:selected').text());
//processAjaxRequestPost('ajaxRequestPost','SingleListHandler','getStateListDetails', eval('frm.candidateCountry_'+i).options[eval('frm.candidateCountry_'+i).selectedIndex].value);
}
}
Вы должны действительно кэш '$ (FRM)' вместо того, чтобы называть его снова и снова : 'var $ frm = $ (frm);' и затем использовать '$ frm' – ThiefMaster