2012-08-05 152 views
-3

我有这样的脚本,它运行良好!将HTML的值传递给jQuery文件

<div id="player"></div> 

jQuery的文件:

$(document).ready(function(){ 
    //You can alternatively pass an object: 

    $('#player').youTubeEmbed({ 
     video  : 'http://www.youtube.com/watch?v=uyeJXKfAcpc', 
     width  : 640,  // Height is calculated automatically 
     progressBar : true  // Hide the progress bar 
    }); 
}); 

,但现在我想使YouTube的ID在这样的输入值:

<div id="player"> 
    <input type="hidden" name="youtube-id" value="uyeJXKfAcpc" /> 
</div> 

,并把它传递给jQuery的是什么像这样:

$(document).ready(function(){ 
    //You can alternatively pass an object: 
    $('#player').youTubeEmbed({ 
     var yid = $(this).children("input[name='youtube-id']"), 
     video  : 'http://www.youtube.com/watch?v=' . yid, 
     width  : 640,  // Height is calculated automatically 
     progressBar : true  // Hide the progress bar 
    }); 
}); 
+1

你能更具体与您的问题吗? – SomeKittens 2012-08-05 04:30:56

+0

我只需要存储隐藏输入的值,并将其传递给上述javascript文件中的varible,并在'http://www.youtube.com/watch?v='作为变量 – user1576910 2012-08-05 04:38:57

回答

3

Y ou在对象中声明变量,将其移至youTubeEmbed插件之上,还可使用.val()方法访问输入的值。

var yid = $("input[name='youtube-id']").val(); 
$('#player').youTubeEmbed({ 
    video   : 'http://www.youtube.com/watch?v=' + yid, 
    width   : 640,  // Height is calculated automatically 
    progressBar : true  // Hide the progress bar 
}); 
+0

无法工作后回显此值att all – user1576910 2012-08-05 04:44:08

+0

@ user1576910你是否触发了JavaScript(例如某种按钮点击)? – Sam 2012-08-05 04:45:55

+0

@ user1576910看到更新 – Musa 2012-08-05 04:46:25

0

根本没有必要使用输入。做 -

​​

你的jQuery -

$('#player').youTubeEmbed({ 
    video: 'http://www.youtube.com/watch?v=' + $(this).attr('data-youtube'), 
    width: 640, 
    progressBar: true 
}); 
+0

不能正常工作,请下载完整的脚本并为我尝试:http://www.4shared.com/rar/XoaJijx5/var_pass.html – user1576910 2012-08-05 05:37:26

+0

请在线发布,所以我们不必下载它 – 2012-08-05 05:41:41

+0

解决方案是这里:http://stackoverflow.com/questions/11814183/i-want-to-store-a-value-in-jquery-var-and-passit – user1576910 2012-08-05 05:42:28