0
使用Calling Jquery within/inside a Shadowbox(感谢Rob Grzyb和kannan!)的回答,我可以从我的Drupal站点上的Shadowbox中触发jQuery,但是,我是无法获得它的一部分功能:jQuery .val()在Shadowbox中不起作用
我在我的Shadowbox中有一个表单,并且我使用.val()来确定select字段的值(并且为了测试目的,在警示框)。当我点击'提交'按钮并且警报触发时,即使我选择了不同的值(如绿色),警报也会读取第一个值(红色)。在常规页面上,它按预期工作,并且警报读取正确的值。
示例代码:
<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>
我怎么能修改此代码,以便它工作在太极拳?谢谢!
感谢杰森!这听起来像是发生了什么。但是,添加'.wrap('
')'实际上会停止Shadowbox的工作,并且我得到一个“没有方法'换行'”的javascript错误。我正在检查出http://stackoverflow.com/questions/11534717/error-object-has-no-method-wrap,但不知道如何才能与我的代码一起工作。将发布,如果我得到它的工作。 – areikiera@areikiera我编辑了我的答案。 'html()'返回一个没有'wrap()'方法的字符串。 –
它看起来像div.color-form的内容加载在Shadowbox HTML中,但不是div.color-form本身,所以我认为这会让你的解决方案无法工作。 – areikiera