2016-09-29 3 views
0

jquery 질문이 있습니다. 나는 현재 쉼표로 구분 된 mysql 테이블에 일부 데이터를 저장한다. 여기서 저장되는 데이터의 일례이다배열에 문자열을 입력하고 확인란을 선택하십시오.

Tbl_stage "개념 prerevenue, 10mm, 20mm"I PHP는이 데이터를 에코되면, I는 각 체크 박스를 필요

그것이 포함되는 경우 선택 될 배열의

<label><input type="checkbox" id="check-item" class="primary1" checked /> concept </label> 
<label><input type="checkbox" id="check-item" class="primary1" checked /> pre-revenue </label> 
<label><input type="checkbox" id="check-item" class="primary1" /> sample blank data </label> 

귀하의 도움에 감사드립니다!

+0

'prerevenue'에는'-'가없는 이유는 무엇입니까? – Rayon

+1

당신이 시도한 것을 보여줄 수 있습니까? 질문은 너무 광범위합니다. mySQl에서 정보를 얻었습니까? 데이터를 반복 할 수있는 배열로 분해하는 데 도움이 필요합니까? 어떻게 HTML을 출력하고 있습니까 (템플릿에서 변수에)? 질문에 몇 가지 코드를 넣으십시오. – Robbie

답변

3
  • 먼저 을 string 주위에 공백없이 준비하십시오.
  • 필터 checkbox 요소는 array의 레이블 textDB에서 검색 한 값이 trimmed 인 것으로 테스트하여.
  • jQuery.prop(PROPERTY, STATE)을 사용하여 checked 속성을 설정하십시오. JS 심판의

var str = " concept , prerevenue , 10mm , 20mm "; 
 
var arr = str.split(' , ').map(function(el) { 
 
    return el.trim(); 
 
}); 
 
$('.primary1').filter(function() { 
 
    return (arr.indexOf($(this).closest('label').text().replace('-', '').trim()) !== -1); 
 
}).prop('checked', true);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<label> 
 
    <input type="checkbox" id="check-item" class="primary1" />concept</label> 
 
<label> 
 
    <input type="checkbox" id="check-item" class="primary1" />pre-revenue</label> 
 
<label> 
 
    <input type="checkbox" id="check-item" class="primary1" />sample blank data</label>

1

우리는 분할 한 기능 : http://www.w3schools.com/jsref/jsref_split.asp

분할은 예를

에 대한 단어 의 배열 될 server.It에서 얻을 문자열
var str = "concept , prerevenue , 10mm , 20mm"; 
var res = str.split(","); 

T 암탉은 값 개념 prerevenue 10mm 20mm

당신은 루프를 할 수있는 진정한

$("input[type=checkbox][value=res[i]").attr("checked","true"); 

에 체크 값을 설정하고 동일한 입력 값의 값을 넣어하는 것을 잊지 마세요와 배열을 얻을 것이다 http://jsfiddle.net/LCU4C/2/

1

업데이트 스크립트를 다음과 같이 : 레이블

심판 값

<?php 
$arr = array("concept" , "prerevenue" , "10mm" , "20mm"); ?> 
<label><input type="checkbox" id="check-item" class="primary1" <?php echo in_array("concept",$arr) ? "checked" : "" ?> /> concept </label> 
<label><input type="checkbox" id="check-item" class="primary1" <?php echo in_array("prerevenue",$arr) ? "checked" : "" ?> /> prerevenue </label> 
2

쿼리를 사용하여 테이블의 데이터를 가져 와서 각 요소를 배열로 푸시합니다. 그런 다음 배열을 사용하여 체크 박스 태그에 체크 된 각 데이터와 에코를 확인하십시오.

<?php 
    $query = 'Your query here to get the data from database table'; 
    $results = array(); 
    while($row = mysql_fetch_assoc($query)) 
    { 
    $results[] = $row; 
    } 
?> 
<label> 
    <input type="checkbox" id="check-item" class="primary1" <?php if(in_array("concept",$results)) echo "checked";?> /> concept </label> 
<label> 
    <input type="checkbox" id="check-item" class="primary1" <?php if(in_array("pre-revenue",$results)) echo "checked";?> /> pre-revenue </label> 
<label> 
    <input type="checkbox" id="check-item" class="primary1" <?php if(in_array("sample blank data",$results)) echo "checked";?> /> sample blank data </label> 
관련 문제