访问函数中动态添加的复选框以检查它们


accessing dynamically added checkbox in a function to check them

我有一个PHP页面,它从另一个PHP脚本加载一组类别这些是复选框。

复选框的格式

<input type='checkbox' class='cat-selector' id='Bussiness' data-toggle='checkbox'/>
<input type='checkbox' class='cat-selector' id='Marketting' data-toggle='checkbox'/> 

现在,如果我有网址本地主机/新项目/搜索?类别=业务我想选中URL中的那些类别复选框

<input type='checkbox' class='cat-selector' id='Bussiness' data-toggle='checkbox' <?php echo (isset($_GET['Category']) && $_GET['Category'] == 'Bussiness')?'checked':''?>/>
<input type='checkbox' class='cat-selector' id='Marketting' data-toggle='checkbox' <?php echo (isset($_GET['Category']) && $_GET['Category'] == 'Marketting')?'checked':''?>/>

你想在jquery/客户端代码中做这样的事情,看看你的复选框ID是否与类别参数相同。

$.ajax({
    url : '/newproj/search?category=Business',
    success : function(data){
       $(".cat-selector").each(function(){
       if($(this).prop("id") === getParameterByName("category")){
          $(this).prop("checked","checked");
       }
    }); 
    } });
function getParameterByName(name) {
    name = name.replace(/['[]/, "'''[").replace(/[']]/, "''']");
    var regex = new RegExp("[''?&]" + name + "=([^&#]*)"),
        results = regex.exec(location.search);
    return results == null ? "" : decodeURIComponent(results[1].replace(/'+/g, " "));
}

您需要 jQuery 1.8 或更高版本才能使用 prop 函数。否则,您必须使用 attr 功能。

您也可以按照其他答案中的建议在服务器端执行此操作。

也许你可以使用 window.location.pathname

看到这个问题:在 JavaScript 中获取当前 URL?

然后与jquery结合使用attr('checked','checked'(http://api.jquery.com/attr/

试试这个:

<input type='checkbox' class='cat-selector' id='Bussiness' value='Business' data-toggle='checkbox' <?php
echo (isset($_REQUEST['category']) && $_REQUEST['category']=='Business')?'checked':'' ?> />
Business
<input type='checkbox' value='Marketing' class='cat-selector' id='Marketting' data-toggle='checkbox' <?php
echo (isset($_REQUEST['category']) && $_REQUEST['category']=='Marketting')?'checked':'' ?> />
Marketing