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

时间:2013-10-11 11:51:00

标签: javascript php jquery

我在php中有一个页面,它从另一个php脚本加载一组类别 那些是复选框。

复选框格式

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

现在,如果我有网址 localhost / newproj / search?category = Business 我想检查URL中的那些类别复选框

4 个答案:

答案 0 :(得分:1)

<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':''?>/>

答案 1 :(得分:0)

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

$.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函数。

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

答案 2 :(得分:0)

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

看到这个问题: Get current URL in JavaScript?

然后将jquery与attr结合使用(&#39;已检查&#39;,&#39;已检查&#39;)http://api.jquery.com/attr/

答案 3 :(得分:0)

试试这个:

<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