小编Mic*_*ael的帖子

jQuery DataTables仅过滤特定列

我使用jQuery插件DataTables(http://datatables.net)进行分页,搜索功能和过滤.

有一个过滤函数(http://datatables.net/release-datatables/examples/api/multi_filter_select.html),它为每列放置表单选择元素.

我的问题是我不希望每列的过滤器选择元素,只有一些.我修改了原始代码,因为我想要是/否过滤,我的第一列包含用户名.

如何从第一列中删除表单选择元素?

JavaScript的:

<script type="text/javascript">

$(document).ready(function() {

(function($) {
/*
 * Function: fnGetColumnData
 * Purpose:  Return an array of table values from a particular column.
 * Returns:  array string: 1d data array
 * Inputs:   object:oSettings - dataTable settings object. This is always the last argument past to the function
 *           int:iColumn - the id of the column to extract the data from
 *           bool:bUnique - optional - if set to false duplicated values are …
Run Code Online (Sandbox Code Playgroud)

javascript jquery jquery-datatables

23
推荐指数
3
解决办法
5万
查看次数

如何在PHP中限制文件上传类型文件大小?

我有一个上传表单,我正在检查文件大小和文件类型,以将上传的文件限制为2兆字节和.pdf,.jpg,.gif或.png文件类型.我的目标是在用户违反其中一条规则时向用户显示警告消息.

有四种情况:

  1. 正确尺寸/正确类型(工作)
  2. 正确尺寸/ INCORRECT类型(工作)
  3. 正确尺寸/正确类型(不工作)
  4. INCORRECT尺寸/ 不正确类型(不工作)

使用我当前的代码,当文件大小大于2兆字节(#4)时,它总是显示不正确的"类型"消息,即使文件类型正确(#3).

有什么想法吗?

if (isset ( $_FILES['uploaded_file'] ) ) {

    $file_size = $_FILES['uploaded_file']['size'];
    $file_type = $_FILES['uploaded_file']['type'];

    if (($file_size > 2097152)){      
        $message = 'File too large. File must be less than 2 megabytes.'; 
        echo '<script type="text/javascript">alert("'.$message.'");</script>'; 
    }
    elseif (  
        ($file_type != "application/pdf") &&
        ($file_type != "image/jpeg") &&
        ($file_type != "image/jpg") &&
        ($file_type != "image/gif") &&
        ($file_type != "image/png")    
    ){
        $message = 'Invalid file type. Only PDF, JPG, GIF …
Run Code Online (Sandbox Code Playgroud)

php file-upload file

21
推荐指数
2
解决办法
10万
查看次数

如何使用jQuery/AJAX将表单数据发布到新窗口?

我的应用程序中的一个页面有一组链接,点击后,帖子根据TableTools jQuery插件形成数据.我想在新窗口中打开这个新页面.有关最佳方法的任何想法吗?我宁愿不将我的所有操作链接更改为单个表单并使用target ="_ blank".我已经尝试调用一个新窗口打开成功,并发布将数据写入此页面,但这没有奏效.请帮忙!

HTML:

<div id="action">                        
    Download
</div>   
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

$('#action').click( function () { 

    var userData = oTable.fnGetColumnData(0);

    $.ajax({
        type: "POST", 
        url: "../download.php",
        data: "user_list=" + userData,
        dataType: "json",
        success: function(data){
            var win = window.open();
            win.document.write(data);
        }
    })  

})
Run Code Online (Sandbox Code Playgroud)

jquery post

19
推荐指数
1
解决办法
6万
查看次数

如何使用jQuery DataTables插件过滤特殊字符的结果?

我在我的应用程序中使用jQuery DataTables插件,我的许多表行和过滤器都有特殊字符,特别是其中的&符号(&).当我尝试过滤这些列时,所有记录都会消失,并显示"找不到匹配的记录".

我已经尝试编码(即htmlspecialchars)和解码(即htmlspecialchars_decode)字符串,然后将它们打印到页面上,但似乎都没有工作.

示例:http://jsfiddle.net/gkdcZ/3/

任何想法为什么会发生这种情况,以及我如何解决它?

HTML:

<select id="filter_col_1" name="filter_col_1">
    <option value="">Select</option>
    <option value="A&B">A&B</option>
    <option value="C">C</option>
    <option value="D">D</option>   
</select>

<tr>
    <td>A&B</td>
    <td>Jones, Brandon</td>
    <td>01/02/2003</td>
</tr>
Run Code Online (Sandbox Code Playgroud)

JavaScript的:

$("#filter_col_1").change( function() { 
    $('#results').dataTable().fnFilter(
        '\\b' + $("#filter_col_1").val() + '\\b',
        1,
        true,
        false
    );
} );    
Run Code Online (Sandbox Code Playgroud)

更新#1: 问题似乎仅在限制列时发生.请参阅DataTables API.参数设置为"null"时工作正常.http://jsfiddle.net/gkdcZ/4/

更新#2: 更近一点.添加一个替换HTML实体的函数适用于某些字符(即&符号),但不适用于其他字符(即感叹号和问号).见http://jsfiddle.net/cz6Bs/4/

'\\b' + htmlEntities($('#filter_col_1').val()) + '\\b'

function htmlEntities(str) {
return String(str).replace(/&/g, '&amp;')
                  .replace(/</g, '&lt;')
                  .replace(/>/g,     '&gt;')
                  .replace(/"/g, '&quot;');
}
Run Code Online (Sandbox Code Playgroud)

php jquery datatables special-characters html-entities

16
推荐指数
2
解决办法
8226
查看次数

jQuery Validate - 将错误类添加到Parent Div

我正在使用jQuery Validate插件,并且永远找不到显示复选框错误的好方法.如果没有选中,我想以红色突出显示所有复选框标签,并决定通过向包含复选框和复选框标签的div添加错误类来执行此操作.但是,它似乎没有添加类.我没有正确选择div吗?

HTML:

<div class="left-aligned indent">

    <label id="id_label" for="id" class="label">Items:</label>

    <div class="select-group">

        <input type="checkbox" name="items" value="1" id="item_1" />
        <label class="checkbox">Item #1</label><br />

        <input type="checkbox" name="items" value="1" id="item_2" />
        <label class="checkbox">Item #2</label><br />

        <input type="checkbox" name="items" value="1" id="item_3" />
        <label class="checkbox">Item #3</label><br />

    </div>

</div>
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

$().ready(function() {

    $('#addForm').validate({
        rules: { 
            "items": { 
                required: true, 
                minlength: 1 
            } 
        }, 
        errorPlacement: function(error, element) {
            if (element.is(':checkbox')) {
                $(this).prev("div").addClass('checkbox-error');
            }
            else {
                 return true;
            }
         }
    }); 


});
Run Code Online (Sandbox Code Playgroud)

CSS:

.error {
    background-color: #FF898D; …
Run Code Online (Sandbox Code Playgroud)

javascript css jquery jquery-validate

11
推荐指数
3
解决办法
3万
查看次数

FPDF分页问题

我正在使用PHP和FPDF生成带有项目列表的PDF.我的问题是如果项目列表进入第二或第三页,我想将项目名称,数量和描述保持在一起.现在,它将转到第二页,但它可能会分割特定项目的所有细节.请帮忙!

<?php
require_once('auth.php');      
require_once('config.php');   
require_once('connect.php');  

$sqlitems="SELECT * FROM $tbl_items WHERE username = '" . $_SESSION['SESS_LOGIN'] . "'";
$resultitems=mysql_query($sqlitems);

require_once('pdf/fpdf.php');
require_once('pdf/fpdi.php');


$pdf =& new FPDI();
$pdf->AddPage('P', 'Letter');    
$pdf->setSourceFile('pdf/files/healthform/meds.pdf'); 
$tplIdx = $pdf->importPage(1);
$pdf->useTemplate($tplIdx);

$pdf->SetAutoPageBreak(on, 30);

$pdf->SetTextColor(0,0,0);
$pdf->Ln(10);

while($rowsitems=mysql_fetch_array($resultitems)){

$pdf->SetFont('Arial','B',10);
$pdf->Cell(50,4,'Item Name:',0,0,'L');
$pdf->SetFont('');
$pdf->Cell(100,4,$rowsitems['itemname'],0,0,'L');  

$pdf->SetFont('Arial','B',10);
$pdf->Cell(50,4,'Quantity:',0,0,'L');
$pdf->SetFont('');
$pdf->Cell(140,4,$rowsitems['itemqty'],0,1,'L');

$pdf->SetFont('Arial','B');
$pdf->Cell(50,4,'Description:',0,0,'L');
$pdf->SetFont('');
$pdf->Cell(140,4,$rowsitems['itemdesc'],0,1,'L');
}

$pdf->Output('Items.pdf', 'I');

?>
Run Code Online (Sandbox Code Playgroud)

pdf page-break fpdf while-loop

10
推荐指数
2
解决办法
3万
查看次数

如何使用jQuery/AJAX和PHP/MySQL选择第一个下拉列表来填充第二个下拉列表?

我正在尝试使用jQuery/AJAX和PHP/MySQL创建一组动态下拉框.当页面根据数据库中的值加载时,将填充第一个下拉框.第二个下拉框应根据第一个下拉框中的选择显示一组值.我知道之前有过类似的问题,但我没有找到符合我情景的解决方案.

我为第二个下拉列表生成JSON编码值列表的查询正在运行,但是我在填充实际下拉表单元素时遇到了问题.关于我哪里出错的任何想法.

使用Javascript:

<script>
$().ready(function() {

    $("#item_1").change(function () {   

      var group_id = $(this).val();

       $.ajax({
            type: "POST", 
            url: "../../db/groups.php?item_1_id=" + group_id, 
            dataType: "json",
            success: function(data){
                //Clear options corresponding to earlier option of first dropdown
                $('select#item_2').empty(); 
                $('select#item_2').append('<option value="0">Select Option</option>');
                //Populate options of the second dropdown
                $.each( data.subjects, function(){    
                    $('select#item_2').append('<option value="'+$(this).attr('group_id')+'">'+$(this).attr('name')+'</option>');
                });
                $('select#item_2').focus();
            },
            beforeSend: function(){
                $('select#item_2').empty();
                $('select#item_2').append('<option value="0">Loading...</option>');
            },
            error: function(){
                $('select#item_2').attr('disabled', true);
                $('select#item_2').empty();
                $('select#item_2').append('<option value="0">No Options</option>');
            }
        })  

    }); 
});

</script>
Run Code Online (Sandbox Code Playgroud)

HTML:

<label id="item_1_label" for="item_1" class="label">#1:</label>
<select id="item_1" name="item_1" />
    <option …
Run Code Online (Sandbox Code Playgroud)

php mysql ajax jquery drop-down-menu

6
推荐指数
1
解决办法
9979
查看次数

如何根据iframe中的动态conent更改iframe的高度?

我有一个拥有动态内容的iframe.如果答案具体问题,则显示其他信息(隐藏的div变为可见).我希望iframe的高度能够扩展.我知道这里已经多次询问过这个问题了,但似乎通常是在加载iframe中的不同页面时,而不是在iframe中动态更改内容时.

这是我尝试使用jsFiddle放在一起的一个例子:

iframe:http://jsfiddle.net/B4AKc/2/

页面:http://jsfiddle.net/PmBrd/

有任何想法吗?

iframe jquery height dynamic

5
推荐指数
2
解决办法
3万
查看次数

如何使用jQuery Validate删除错误类?

我有一个表单,使用jQuery Validate插件为一组复选框的父div添加一个错误类.但是,选中复选框时,将删除错误类,但CSS样式仍然存在.我有什么想法我做错了吗?

示例:http://jsfiddle.net/qK3SC/

HTML:

<form name="itemForm" id="itemForm" method="post">
<div id="boxes">
    <input type="checkbox" id="check1" class="require-one" value="1" /> Item #1
    <input type="checkbox" id="check2" class="require-one" value="2" /> Item #2
</div>
<div id="freetext">
    <input type="text" class="required" />
</div>
<input type="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

$.validator.addMethod('require-one', function(value) {
    return $('.require-one:checked').size() > 0;
}, 'Please check at least one box.');

var checkboxes = $('.require-one');
var checkbox_names = $.map(checkboxes, function(e, i) {
    return $(e).attr("name")
}).join(" ");

$("#itemForm").validate({
    groups: {
        checks: checkbox_names
    },
    errorPlacement: function(error, element) …
Run Code Online (Sandbox Code Playgroud)

css jquery jquery-validate

5
推荐指数
1
解决办法
8732
查看次数

如何使jQuery自动完成列表显示所有选项onfocus并隐藏选项后选项?

我有一个带有自动完成功能的表单,可以启动搜索"onfocus"并在用户点击搜索字段时显示选项列表,即使他们没有输入任何内容.

问题是自动完成需要使用键盘选择选项(向下箭头后跟制表符/返回或双击).我的第一个想法是,单击会使焦点保留在搜索字段中,因此自动完成保持可见.但是,第二次单击后搜索字段仍保持聚焦,但第二次单击后自动完成消失.

有任何想法吗?

<script>
$(document).ready(function() {

    var autocomplete_focus = function(){           
        if ($(this).val().length == 0) {
            $(this).autocomplete("search", "%");
        }
    }   

    $( ".autocomplete" ).autocomplete({
            source: "../../db/autocomplete_list.php",
            minLength: 0
    });

    $( ".autocomplete" ).focus(autocomplete_focus);

});
</script>
Run Code Online (Sandbox Code Playgroud)

我意识到之前已经发布了类似的问题 ; 但是,建议的解决方案对我不起作用.

php jquery jquery-ui onfocus jquery-ui-autocomplete

4
推荐指数
1
解决办法
9286
查看次数