-1

当隐藏的输入字段更改值时,我需要播放音频文件。这个隐藏的输入是<table>由 Ajax 刷新以更新值的。

我需要做的是,(例如)当值变为是时Clap.wav需要播放,否则,当值变为否时boo.wav必须播放。

任何人都可以给我一个示例代码或一个想法?感谢那些愿意提供帮助的人。

这是我的一些代码

这是隐藏的输入域代码。它位于表上,id 为connExcelon Platinum.php

<input type="hidden" name="indVal" id="indVal" value=" <?php echo $objWorksheet->getCellByColumnAndRow(5, 5)->getOldCalculatedValue();  ?> ">

这是我的一些 Ajax 代码

xmlHttp.onreadystatechange=function(){ 
    if(xmlHttp.readyState==4){ 
    document.getElementById('connExcel').innerHTML=xmlHttp.responseText;
        setTimeout('AutoRefresh()',100); // JavaScript function calls AutoRefresh() every 3 seconds
    }
}
xmlHttp.open("GET","<?php if( isset( $isAdmin ) &&  $isAdmin == TRUE ){ echo  '../../library/tosloader.php?page='. $pageID; } else {  echo  ../library/tosloader.php?page='. $pageID; }  ?>",true);

'tosloader.php' 只包括用于刷新表格的 Platinum.php。

4

3 回答 3

0

jsBin 演示

HTML:

<input id="inp" type="text" value="NO" />

JS:

function checkInputValue(){

    var files = { "YES": "Clap.wav", "NO": "boo.wav" };
    var sound = new Audio( files[ $('#inp').val() ] );
    sound.play();

}

checkInputValue(); // USE WHEREVER YOU LIKE

或者你可以这样做:

命名您的文件:yes.wavno.wav

function checkInputValue( snd ){
    var sound = new Audio( snd+'.wav');
    sound.play();     
}

var AJAXval = ("YES").toLowerCase() ; // the returned value to lowercase
checkInputValue( AJAXval );
于 2012-12-29T02:57:39.673 回答
0

听起来您正在从 DOM 中完全添加和删除元素,因此您需要观看该DOMNodeInserted事件。幸运的是,我们可以绑定到它。我们假设隐藏的输入有一个hiddenInput. 然后我们需要获取我们的源元素,恰当地命名<source id="yesAudio"..../><source id="noAudio".../>我们将使用 jquery 的.get()方法,然后使用 HTML5 音频 api.play();来调用它们。

$(document).on('DOMNodeInserted', function(e){
    if(e.srcElement.className == 'hiddenInput'){
        if(e.srcElement.value == 'yes'){
            $('#yesAudio').get().play();    
        }else{
            $('#noAudio').get().play();
        }
    }        
});​​​​​

我想这就是你想要的。

于 2012-12-29T03:00:58.793 回答
0

在设置隐藏输入值的代码中执行此操作

$('#myHiddenID').val(myValue).trigger('change');

然后像这样使用更改事件

$('#myHiddenID').change(function(){
     var OnOff = $(this).val();
     if (OnOff == "ON") { // play clap}
     if (OnOff == "OFF) { //play boo}
})
于 2012-12-29T02:54:40.907 回答