2012-04-05 87 views
0

我已经构建了一个表单,它使用JSON从MYSQL数据库中提取品牌列表。被拉入的品牌应该改变表单中相应的输入品牌元素。但由于某种原因,我没有得到这个工作。为什么我的复选框没有检查?

我的代码:

JSON

[{"pkFavorietemerken":"1","merken":"Adidas"},{"pkFavorietemerken":"2","merken":"Boss"},{"pkFavorietemerken":"3","merken":"Burberry"},{"pkFavorietemerken":"4","merken":"Christian Dior"},{"pkFavorietemerken":"5","merken":"D&G"},{"pkFavorietemerken":"6","merken":"Diesel"},{"pkFavorietemerken":"7","merken":"Dolce & Gabanna"},{"pkFavorietemerken":"8","merken":"Emporio Armani"}] 

JQUERY:

$("document").ready(function(){ 
    $.getJSON("jason2.php", function(data) { 
     $.each(data, function(){ 
      $("[value=this.merken]").attr("checked","checked"); 
     }); 
    }); 

HTML:

<form name="form1" method="post" action="something.php">       
     <ul> 
      <li><input type="checkbox" name="merk[]" value="Adidas"/>Adidas</li> 
      <li><input type="checkbox" name="merk[]" value="Airforce"/>Airforce</li> 
      <li><input type="checkbox" name="merk[]" value="Armani"/>Armani</li> 
      <li><input type="checkbox" name="merk[]" value="Asics"/>Asics</li> 
      <li><input type="checkbox" name="merk[]" value="Bikkemberg"/>Bikkemberg</li> 
      <li><input type="checkbox" name="merk[]" value="Bjorn Borg"/>Bjorn Borg</li> 
      <li><input type="checkbox" name="merk[]" value="BlueBlood"/>BlueBlood</li> 
      <li><input type="checkbox" name="merk[]" value="Boss"/>Boss</li> 
      <li><input type="checkbox" name="merk[]" value="Brunotti"/>Brunotti</li> 
      <li><input type="checkbox" name="merk[]" value="Burberry"/>Burberry</li> 
     </ul> 
</form> 

回答

2

尝试更换:

$("[value=this.merken]").attr("checked","checked"); 

有:

$("[value='" + this.merken + "']").attr("checked","checked"); 
+0

你刚刚解决了我的工作4小时在1秒。所以整个过程中的整个问题都是在弦线上。 – 2012-04-05 19:14:35

+0

'prop()'怎么样? '$ el.prop('checked',1)' – elclanrs 2012-04-05 19:18:41

+0

@elclanrs,是的,这是'.attr()'的首选方法。 – 2012-04-05 19:19:40

相关问题