在jQuery中向对话框添加复选框
我对jQuery和JavaScript完全陌生,我必须修改一些代码。我需要在此对话框中添加一个复选框,并根据选择做出决定。有什么建议吗在jQuery中向对话框添加复选框,jquery,Jquery,我对jQuery和JavaScript完全陌生,我必须修改一些代码。我需要在此对话框中添加一个复选框,并根据选择做出决定。有什么建议吗 function deleteFacets() { // button click $("#b_facetsDelete").button().click(function(){ // selected fIds var $fIds=checkSfALOneSelectedFId(); if(!$
function deleteFacets()
{
// button click
$("#b_facetsDelete").button().click(function(){
// selected fIds
var $fIds=checkSfALOneSelectedFId();
if(!$fIds)
{
return;
}
$('#deleteFacetsDialog').dialog('open');
return;
});
// dialog
$("#deleteFacetsDialog").dialog({
autoOpen: false,
resizable: false,
height:160,
modal: true,
buttons: {
"Cancel": function() {
$(this).dialog('close');
},
"Delete selected facets": function() {
$(this).dialog('close');
// get the selected fIds
var $fIds=getSfSelectedFIds();
//update database
$.ajax({
url: 'ajax/ajax_facetsDelete.php',
type: 'POST',
data: {"fIds":$fIds},
async: false,
dataType: 'xml',
error: function(){
alert('Error loading XML document');
},
success: function(data){
//check error
var $error=$(data).find('error').text();
if($error!="0")
{
messageBox("Error",$error);
return;
}
//content
var $content=$(data).find('content').text();
//refresh source facets tab
var $srcTabIndex=$("#srcFacetsTab").tabs('option', 'selected');
if($content=="0")
{
messageBox("Succeed!","Delete successfully!");
if($srcTabIndex==0)
{ // for navigation
sfNavRefreshUntilParent();
}
else if($srcTabIndex==1)
{ //for search
sfSearchGridRefreshAll();
}
}
else
{
messageBox("Warning!", $content+" can not be deleted since they have child facets or terms. <br/>Please empty them first(Move the child facets and move all the terms).");
if($srcTabIndex==0)
{ // for navigation (refresh and highlight the invalid fIds)
sfNavRefreshWithHighlightFIds($content);
}
else if($srcTabIndex==1)
{ //for search
sfSearchGridRefreshWithHighlightFIds($content);
}
}
}
});
return;
}
}
});
}
函数deleteFacets()
{
//按钮点击
$(“#b#facetsDelete”)。按钮()。单击(函数(){
//选定的FID
var$fIds=checkSfALOneSelectedFId();
如果(!$fIds)
{
返回;
}
$('deleteFacetsDialog')。对话框('open');
返回;
});
//对话
$(“#删除面对话框”)。对话框({
自动打开:错误,
可调整大小:false,
身高:160,
莫代尔:是的,
按钮:{
“取消”:函数(){
$(this.dialog('close');
},
“删除选定面”:函数(){
$(this.dialog('close');
//获取选定的FID
var$fIds=getSfSelectedFIds();
//更新数据库
$.ajax({
url:'ajax/ajax\u facetsDelete.php',
键入:“POST”,
数据:{“fIds”:$fIds},
async:false,
数据类型:“xml”,
错误:函数(){
警报(“加载XML文档时出错”);
},
成功:功能(数据){
//检查错误
var$error=$(数据).find('error').text();
如果($error!=“0”)
{
messageBox(“错误”,$Error);
返回;
}
//内容
var$content=$(数据).find('content').text();
//刷新源面选项卡
var$srcTabIndex=$(“#srctfacestab”).tabs('option','selected');
如果($content==“0”)
{
messageBox(“成功!”,“删除成功!”);
如果($srcTabIndex==0)
{//用于导航
sfNavRefreshUntilParent();
}
else if($srcTabIndex==1)
{//用于搜索
sfSearchGridRefreshAll();
}
}
其他的
{
messageBox(“警告!”,$content+”无法删除,因为它们有子面或术语。
请先清空它们(移动子面并移动所有术语)。”;
如果($srcTabIndex==0)
{//用于导航(刷新并突出显示无效FID)
SFNavRefresh带高亮FIDS($content);
}
else if($srcTabIndex==1)
{//用于搜索
sfSearchGridRefreshWithHighlightFIds($content);
}
}
}
});
返回;
}
}
});
}
HTML
<!-- delete facets confirmation dialog -->
<div id="deleteFacetsDialog" title="Sure to delete?">
<p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span>These facets will be permanently deleted and cannot be recovered. Are you sure?</p>
</div>
这些方面将被永久删除,并且无法恢复。你确定吗
您正在调用的ID。上的对话框,DeleteFacetDialog
,是对话框主体的所有代码所在的位置。因此,您需要做的是在HTML源代码中找到该ID,并在其中添加一个复选框(以及围绕它所需的任何文本/标签)
然后在delete函数回调中,您可以访问该复选框,查找其值,并根据其选择执行所需的if/else逻辑。例如:
<div id="deleteFacetsDialog">
...
<label><input type="checkbox" id="permaDelete" />Perminantly delete this facet?</label>
...
</div>
只需确保您在HTML中用于输入的ID与您在JS中调用的ID一致。您可能需要向我们展示与此相关的HTML,特别是ID为
#deleteFacesDialog
的部分。我已经编辑了它。对吗?最后一个问题,我应该把代码的最后一部分放在哪里?在.dialog调用中,“删除所选方面”是现有代码的一部分。如果在匿名函数中。
...
"Delete selected facets": function() {
...
if ($('#permaDelete').is(':checked')) {
} else {
}
...
}