Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Html addEventListener select-onchange或onselect_Javascript_Html - Fatal编程技术网

Javascript Html addEventListener select-onchange或onselect

Javascript Html addEventListener select-onchange或onselect,javascript,html,Javascript,Html,查看了一些问题,但没有找到确切的事件名称 具有帧内选择框的句柄(帧源是同一域) 可以看到select的内部HTML,但不确定如何添加一个onchange/on select更改多个select <select multiple="" size="3"><option value="12.5">12.5</option> <option value="12.678">12.678</option><option value

查看了一些问题,但没有找到确切的事件名称

具有帧内选择框的句柄(帧源是同一域)

可以看到select的内部HTML,但不确定如何添加一个onchange/on select更改多个select

 <select multiple="" size="3"><option value="12.5">12.5</option>
    <option value="12.678">12.678</option><option value="14.333">14.333</option>
    <option value="521.991">521.991</option><option value="221.976">221.976</option>      
 </select>
是否有on select事件?在addEventListener参数1中使用什么文本

在iframe中,您有:

onload="hookLoadDivInfo(this);" 
和进行调试

<div id="cc">
Debug will go here</div>

调试将转到这里
父页面中的所有js:

 <script>


function chk(){
    hookLoadDivInfo2(2)
    f1s1onChange()
}

function hookLoadDivInfo(frameObj){
 //alert(2)
 window.frame1 = frameObj;
 setTimeout('hookLoadDivInfo2(1)', 1600);
    //alert(2)
}
function hookLoadDivInfo2(p1){
    //debugging - log
    frameObj = window.frame1
    c1 = document.getElementById("cc")

    c1.innerHTML = ''  + "DEBUG INFO  1 : "
    co1 = frameObj.contentWindow.document.getElementById("widgetContainer-content-pov_widget_2")

    co1.style.display = 'none'

    co1 = frameObj.contentWindow.document.getElementById("widgetContainer-content-pov_widget_1")
    c1.innerHTML = c1.innerHTML  + "<br> <pre>" + co1 + "</pre><br>"
    x = co1.getElementsByTagName('SELECT')
    //alert('D ' + co1.innerHTML + ' c' + x.length)
    co1c = x.item(0)
    //alert('D ' + co1c.outerHTML)
    c1.innerHTML = c1.innerHTML  + "<br> <pre>" + co1c + "</pre><br>"


    window.f1s1 = co1c 
            if(p1==1){
        co1c.addEventListener('change',  f1s1onChange, false);
    }
    c1.innerHTML = c1.innerHTML  + "<br>Done z co1c: " + window.f1s1

}

function f1s1onChange(){
   c1 = document.getElementById("cc")
   c1.innerHTML =  "DEBUG  6 f1s1onChange:" + window.f1s1 + " " + window.f1s1.length + " " + new Date()

  for( i =0; i < window.f1s1.size; i++){
    c1.innerHTML =  c1.innerHTML + "<br> [" + i + " " + window.f1s1.options[i].selected
  } 

}



</script>

函数chk(){
hookloadfo2(2)
f1s1onChange()
}
函数hookLoadDivInfo(frameObj){
//警报(2)
window.frame1=frameObj;
setTimeout('hookLoadFo2(1)'1600);
//警报(2)
}
功能挂载FO2(p1){
//调试日志
frameObj=window.frame1
c1=document.getElementById(“cc”)
c1.innerHTML=''+“调试信息1:”
co1=frameObj.contentWindow.document.getElementById(“widgetContainer-content-pov_小部件_2”)
co1.style.display='none'
co1=frameObj.contentWindow.document.getElementById(“widgetContainer-content-pov_小部件_1”)
c1.innerHTML=c1.innerHTML+“
”+co1+“
” x=co1.getElementsByTagName('SELECT') //警报('D'+co1.innerHTML+'c'+x.length) co1c=x.项目(0) //警报('D'+co1c.outerHTML) c1.innerHTML=c1.innerHTML+“
”+co1c+“
” window.f1s1=co1c 如果(p1==1){ co1c.addEventListener('change',f1s1onChange,false); } c1.innerHTML=c1.innerHTML+“
完成z co1c:”+window.f1s1 } 函数f1s1onChange(){ c1=document.getElementById(“cc”) c1.innerHTML=“调试6 f1s1onChange:”+window.f1s1+“”+window.f1s1.length+“”+new Date() 对于(i=0;i[“+i+”+window.f1s1.options[i]。已选中 } }

这不会引发错误,但也看不到正确的选定项目?

请尝试以下操作:

var varName= $("select#selectmenu1"); 
varName = (varName[0].value);
alert(varName);

或者在调用check函数时,首先向select标记添加onClick? 您可以在
JQuery
捕获事件。您必须为

我的意思是,通过这些代码,你可以捕获事件,也许你想在一个var上保存所选的选项,或者如果你想得到所选的值,你可以尝试启动另一个函数


请注意,在第一行
varName
是一个对象,在第二行
varName
是一个
字符串

使用了.size而不是.length,列表有3个以上的元素,并且选择了底部的项,因此显示为未选择


用于调试
函数chk(){
hookloadfo2(2)
f1s1onChange()
}
函数hookLoadDivInfo(frameObj){
//警报(2)
window.frame1=frameObj;
setTimeout('hookLoadFo2(1)'2600);
//警报(2)
}
功能挂载FO2(p1){
//调试日志
frameObj=window.frame1
c1=document.getElementById(“cc”)
c1.innerHTML=''+“调试信息1:”
co1=frameObj.contentWindow.document.getElementById(“widgetContainer-content-pov_小部件_2”)
co1.style.display='none'
co1=frameObj.contentWindow.document.getElementById(“widgetContainer-content-pov_小部件_1”)
c1.innerHTML=c1.innerHTML+“
”+co1+“
” x=co1.getElementsByTagName('SELECT') //警报('D'+co1.innerHTML+'c'+x.length) co1c=x.项目(0) //警报('D'+co1c.outerHTML) c1.innerHTML=c1.innerHTML+“
”+co1c+“
” window.f1s1=co1c 如果(p1==1){ co1c.addEventListener('change',f1s1onChange,false); } c1.innerHTML=c1.innerHTML+“
完成z co1c:”+window.f1s1 } 函数f1s1onChange(){ c1=document.getElementById(“cc”) c1.innerHTML=“调试6 f1s1onChange:”+window.f1s1+“”+window.f1s1.length+“”+new Date() 对于(i=0;i[”+i+“”+window.f1s1.options[i]。所选+“”+window.f1s1.options[i]。文本 } }
更改事件应该可以,您是否等待DOM加载?您是否正在侦听来自iframe父级的更改事件?您如何附加、引用元素。需要更多有关如何执行此操作的上下文。在父页面@epascarelloyes@ferdinand torggler中添加了完整的js代码添加了完整的js-onload,然后是一个小的等待时间hen add code下一步将尝试使用jquery,首先使用最新的ff和简单的JS,添加一个changefunction或替换其中的任何一个?好的,我的意思是,使用该代码您可以捕获事件,可能您希望在var上保存所选选项,或者启动另一个函数,如果您希望获得所选值,可以尝试var varName=$(“选择#selectmenu1”);varName=(varName[0].value);
 $(document).on('click keypress', 'select', function (e) {
   //do Something
 });
$("select#selectmenu1").change(function() {


}
var varName= $("select#selectmenu1"); 
varName = (varName[0].value);
alert(varName);
<input type=button onclick=chk() value=Both> <input type=button onclick=f1s1onChange() value=f1s1onChange>
<input type=button onclick=hookLoadDivInfo2(2) value=hookLoadDivInfo2>

<div id="cc">
For debug</div>

<script>


function chk(){
    hookLoadDivInfo2(2)
    f1s1onChange()
}

function hookLoadDivInfo(frameObj){
 //alert(2)
 window.frame1 = frameObj;
 setTimeout('hookLoadDivInfo2(1)', 2600);
    //alert(2)
}
function hookLoadDivInfo2(p1){
    //debugging - log
    frameObj = window.frame1
    c1 = document.getElementById("cc")

    c1.innerHTML = ''  + "DEBUG INFO  1 : "
    co1 = frameObj.contentWindow.document.getElementById("widgetContainer-content-pov_widget_2")

    co1.style.display = 'none'

    co1 = frameObj.contentWindow.document.getElementById("widgetContainer-content-pov_widget_1")
    c1.innerHTML = c1.innerHTML  + "<br> <pre>" + co1 + "</pre><br>"
    x = co1.getElementsByTagName('SELECT')
    //alert('D ' + co1.innerHTML + ' c' + x.length)
    co1c = x.item(0)
    //alert('D ' + co1c.outerHTML)
    c1.innerHTML = c1.innerHTML  + "<br> <pre>" + co1c + "</pre><br>"


    window.f1s1 = co1c 
            if(p1==1){
        co1c.addEventListener('change',  f1s1onChange, false);
    }
    c1.innerHTML = c1.innerHTML  + "<br>Done z co1c: " + window.f1s1

}

function f1s1onChange(){
   c1 = document.getElementById("cc")
   c1.innerHTML =  "DEBUG  6 f1s1onChange:" + window.f1s1 + " " + window.f1s1.length + " " + new Date()

  for( i =0; i < window.f1s1.length; i++){
    c1.innerHTML =  c1.innerHTML + "<br> [" + i + " " + window.f1s1.options[i].selected + " " + window.f1s1.options[i].text
  } 

}



</script>