在for循环中检查无线电输入(仅包含值的那些)

时间:2014-12-15 09:12:24

标签: javascript php jquery

这是我的代码:

<?php 

if(!empty($wpjobus_resume_skills)) {

for ($i = 0; $i < (count($wpjobus_resume_skills)); $i++) {

?>

    <div style="text-align: center;">
       <span>20%</span>
       <input style="width:50%; float: none" type='checkbox' class="checkedClass<?php echo $i; ?>" id='wpjobus_resume_skills[<?php echo $i; ?>][1]' name='wpjobus_resume_skills[<?php echo $i; ?>][1]' value='20%' class='slider_value'>
    </div>


    <div style="text-align: center;">
        <span>40%</span>
        <input style="width:50%; float: none" type='checkbox' class="checkedClass<?php echo $i; ?>" id='wpjobus_resume_skills[<?php echo $i; ?>][1]' name='wpjobus_resume_skills[<?php echo $i; ?>][1]' value='40%' class='slider_value'>
    </div>

    <div style="text-align: center;">
        <span>60%</span>                                    
        <input style="width:50%; float: none" type='checkbox' class="checkedClass<?php echo $i; ?>" id='wpjobus_resume_skills[<?php echo $i; ?>][1]' name='wpjobus_resume_skills[<?php echo $i; ?>][1]' value='60%' class='slider_value'>
    </div>

    <div style="text-align: center;">
        <span>80%</span>
        <input style="width:50%; float: none" type='checkbox' class="checkedClass<?php echo $i; ?>" id='wpjobus_resume_skills[<?php echo $i; ?>][1]' name='wpjobus_resume_skills[<?php echo $i; ?>][1]' value='80%' class='slider_value'>
    </div>

    <div style="text-align: center;">
        <span>100%</span>
        <input style="width:50%; float: none" type='checkbox' class="checkedClass<?php echo $i; ?>" id='wpjobus_resume_skills[<?php echo $i; ?>][1]' name='wpjobus_resume_skills[<?php echo $i; ?>][1]' value='100%' class='slider_value'>                          
    </div>

确定。我将我的数据存储在post meta var wpjobus_resume_skills中。我只想检查包含值的输入。例如,在for循环的第一次迭代中,应该检查具有80%值的输入,因为我在我的var $wpjobus_resume_skills[$i][1]中有80%。在第二个循环中,假设40%被保存,那么我只想检查那个40%的输入。

截图: 应该是这样的

enter image description here

这是我正在尝试检查所有值的内容:

<?php
if( !empty($wpjobus_resume_skills[$i][1]) )
{
    <script type="text/javascript">
        jQuery('.checkedClass<?php echo $i; ?>').prop('checked', true);
    </script>
}

任何帮助将不胜感激。

我的数组:print_r($wpjobus_resume_skills);

Array
(
    [0] => Array
        (
            [0] => C++
            [1] => 40%
        )

    [1] => Array
        (
            [0] => Java
            [1] => 60%
        )

    [2] => Array
        (
            [0] => Rails
            [1] => 80%
        )

    [3] => Array
        (
            [0] => HTML 5
            [1] => 100%
        )

    [4] => Array
        (
            [0] => Android
            [1] => 20%
        )

)

这对我有用:

将其添加到输入标记<?php echo ($wpjobus_resume_skills[$i][1]=='100%')?'checked':'';?>

<input style="width:50%; float: none" type='checkbox' class="checkingtheclass checkedClass<?php echo $i; ?>" id='wpjobus_resume_skills[<?php echo $i; ?>][1]' name='wpjobus_resume_skills[<?php echo $i; ?>][1]' <?php echo ($wpjobus_resume_skills[$i][1]=='100%')?'checked':'';?> value='100%' class='slider_value'>

2 个答案:

答案 0 :(得分:0)

使用PHP代码执行此操作。

在你的循环中,在每个标记中添加此检查。

   <?php echo ($wpjobus_resume_skills[$i][1]=='YOUR_VALUE')?'checked':'';?>

例如

<?php
for ($i = 0; $i < (count($wpjobus_resume_skills)); $i++) {
?>
<input style="width:50%; float: none" type='checkbox' class="checkedClass<?php echo 
   $i; ?>" id='wpjobus_resume_skills[<?php echo $i; ?>][1]' 
  name='wpjobus_resume_skills[<?php echo $i; ?>][1]' value='80%' 
 class='slider_value'      <?php echo ($wpjobus_resume_skills[$i][1]=='80%')?'checked':'';?>

 >
 .

答案 1 :(得分:0)

为您的复选框提供相同的类,无需为每个输入更改类 jquery中的这个函数用你想要的值检查你的复选框

 function checkValue(Num){
        $('.checkIT').each(function(){
            if($(this).val() == Num){
               $(this).prop('checked',true);
               }
        });
    }

你可以用

调用函数
checkValue('80%'); // change number as you want

请参阅DEMO

用这个

替换你的代码
<?php 

if(!empty($wpjobus_resume_skills)) {

for ($i = 0; $i < (count($wpjobus_resume_skills)); $i++) {

?>
<div id="lang<?php echo $i; ?>">
    <div style="text-align: center;">
       <span>20%</span>
       <input style="width:50%; float: none" type='checkbox' class='wpjobus_resume_skills' name='wpjobus_resume_skills[<?php echo $i; ?>][1]' value='20%'>
    </div>


    <div style="text-align: center;">
        <span>40%</span>
        <input style="width:50%; float: none" type='checkbox' class='wpjobus_resume_skills' name='wpjobus_resume_skills[<?php echo $i; ?>][1]' value='40%'>
    </div>

    <div style="text-align: center;">
        <span>60%</span>                                    
        <input style="width:50%; float: none" type='checkbox' class='wpjobus_resume_skills' name='wpjobus_resume_skills[<?php echo $i; ?>][1]' value='60%'>
    </div>

    <div style="text-align: center;">
        <span>80%</span>
        <input style="width:50%; float: none" type='checkbox' class='wpjobus_resume_skills' name='wpjobus_resume_skills[<?php echo $i; ?>][1]' value='80%' />
    </div>

    <div style="text-align: center;">
        <span>100%</span>
        <input style="width:50%; float: none" type='checkbox' class='wpjobus_resume_skills' name='wpjobus_resume_skills[<?php echo $i; ?>][1]' value='100%' >                          
    </div>
</div>

在js

$(document).ready(function(){
  checkValue('lang1','20%');
  checkValue('lang2','80%');
  checkValue('lang3','100%');
});
function checkValue(IDname,Num){
    $('#'+IDname +' .wpjobus_resume_skills').each(function(){
        if($(this).val() == Num){
           $(this).prop('checked',true);
           }
    });
}