我正在寻找一种方法来调试jquery选择器返回的内容.我尝试过使用toString(),但这只会回来[object Object].
我实际上要做的是将回调附加到单选按钮.和onclick
按钮中的一个,我要提交的封闭形式.
因此我尝试做这样的事情:
$(".rating").stars({
cancelShow: false,
callback: function(ui, type, value, event) {
$(this).closest('form').ajaxSubmit();
}
});
Run Code Online (Sandbox Code Playgroud)
不幸的是,没有任何事
这是我想要做的完整示例:
<script type="text/javascript" src="http://localhost:8000/media/js/jquery.js?v=1.4.2"></script>
<script type="text/javascript" src="http://localhost:8000/media/js/jquery.form.js?v=2.4.3"></script>
<script type="text/javascript" src="http://localhost:8000/media/js/jquery-ui.custom.min.js?v=1.8"></script>
<script type="text/javascript" language="javascript" src="http://localhost:8000/media/js/jquery.ui.stars.js?v=3.0.0b38"></script>
<link rel="stylesheet" type="text/css" media="all" href="http://localhost:8000/media/css/jquery.ui.stars.css?v=3.0.0b38" />
<body>
<script type="text/javascript">
$(function() {
$(".rating").children().not(":radio").hide();
$(".rating").stars({
cancelShow: false,
callback: function(ui, type, value, event) {
alert('NodeName: ' + this.nodeName);
$(this).each(function() {
alert($(this).html());
});
alert($(this).length);
}
});
});
</script>
<ul class="list">
<li>
<form class="rating" id="rating-1" action="/sniphunter/rate/1/" method="post">
<input type="radio" name="score" value="1" id="rating-1-1" />
<input type="radio" name="score" value="2" id="rating-1-2" />
<input type="radio" name="score" value="3" id="rating-1-3" />
<input type="radio" name="score" value="4" id="rating-1-4" />
<input type="radio" name="score" value="5" id="rating-1-5" />
<input type="submit" value="Rate"/>
</form>
</li>
</ul>
</body>
Run Code Online (Sandbox Code Playgroud)
我下载了星级小部件(它看起来与您正在使用的相同)并进行了一些挖掘...星星插件完全删除了单选按钮并用 div 和链接替换了它们。当您选择一颗星时,它会将值保存在表单内的隐藏输入中。
因此,在搞乱之后,我发现您可以使用 进入表单ui.$form,所以试试这个:
$(function(){
$(".rating").children().not(":radio").hide();
$(".rating").stars({
cancelShow: false,
callback: function(ui, type, value, event)
{
alert( ui.$form.attr('id') ); // alerts the form ID
ui.$form.ajaxSubmit();
}
});
});
Run Code Online (Sandbox Code Playgroud)
编辑:哦,如果您想访问原始的单选按钮,它们也会保存到 ui 对象中以及ui.$rboxs. 以下代码片段将提醒原始单选按钮的 ID:
$(function(){
$(".rating").children().not(":radio").hide();
$(".rating").stars({
cancelShow: false,
callback: function(ui, type, value, event)
{
alert( ui.$rboxs[(value-1)].id );
}
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3539 次 |
| 最近记录: |