使用Calling Jquery inside / inside a Shadowbox的答案 (感谢 Rob Grzyb 和 kannan!),我能够在我的 Drupal 站点上的 Shadowbox 中触发我的 jQuery,但是,我无法获得其中的一部分功能:
我的 Shadowbox 中有一个表单,我使用 .val() 来确定选择字段的值(出于测试目的,在警报框中显示该值)。当我单击“提交”按钮并触发警报时,即使我选择了不同的值(如绿色),警报也会始终读取第一个值(红色)。在常规页面上,它按预期工作,并且警报读取正确的值。
示例代码:
<div class="color-form" style="display: none;">
<h3>What's Your Favorite Color?</h3>
<form class="color">
<select name="colorurl" class="colorurl">
<option value="red">Red</option>
<option value="green">Green</option>
<option value="blue">Blue</option>
</select>
<br />
<input class="button" type="submit" value="Submit">
</form>
<script type="text/javascript">
jQuery(document).ready(function($){
$('body').on('click', '.color .button', function(e) {
e.preventDefault();
var colorurl = $('.colorurl').val();
alert(colorurl);
});
});
</script>
</div>
<script type="text/javascript">
jQuery(document).ready(function($){
$('a.form').click(function () {
var thisContent = $('.color-form').html();
Shadowbox.open({
content: thisContent,
player: 'html',
displayNav: false,
height: 350,
width: 350
});
});
});
</script>
<a class="form">Link to Form</a>
如何修改此代码以使其在 Shadowbox 中工作?谢谢!