Estoy cargando una página a través de un div debido a restricciones de iframe. Lo que quiero hacer es acceder al contenido de la página y seleccionar el primer elemento en el menú desplegable. Si la identificación del menú desplegable se llama myDropdown o algo así como "ctl00_ctl65_g_549adf60_cb6b_4794_af15_99ce724b040f_FormControl0_V1_I1_D2", ¿cómo accedo a esto para seleccionar?
$(document).ready(function() { $("#load_home").on("click", function() { $("#content").load("https://page.aspx"); }); }); <div id="topBar"> <a href="#" id="load_home"> Rate!</a> </div> <div id="content"> </div>Prueba este guión.
var interval; $(document).ready(function () { $("#load_home").on("click", function () { $('.calc-loader').show(); $("#content").load("HtmlPage5.html"); interval = setInterval(function () { console.log($('#content select option').length); if ($('#content select option').length > 2) { clearInterval(interval); $('.calc-loader').hide(); $('#content select option:eq(3)').prop("selected",true); $('#content select').trigger('change'); } }, 1000); }); });Debe acceder a él en la devolución de llamada o delegado de .load:
$(function() { $("#load_home").on("click", function() { $("#content").load("https://page.aspx",function() { $("#myDropdown option:eq(2)").prop{"selected",true); // if you have event handlers on the select, you want to trigger them $("#myDropdown").change(); }); }); });Delegación:
$("#content").on("change","#myDropdown",function() { // delegated the change event to the container });Aquí hay una función modular findAndSelect() que usa JS puro. Los parámetros son el ID de cadena de la selección y el valor de cadena de la opción que desea seleccionar.
Digamos que su html es: <select id="sel"><option>option1</option></select> y desea establecer #sel en 'option1', llame a findAndSelect('sel','option1');
function findAndSelect (elementId, optionToSelect) { function findRelevantIndex(elementId) { var optionsArr = document.getElementById(elementId).options; var optionsLen = optionsArr.length; for (var i = 0; i < optionsLen; i++) { if (optionsArr[i].text == optionToSelect) { return i; } } console.log('found no matching option as ' + optionToSelect); return 0; } document.getElementById(elementId).selectedIndex = findRelevantIndex(elementId); console.log('new selected index for ' + elementId + ' is ' + document.getElementById(elementId).selectedIndex); }