Javascript 如果我在输入类型文本中写入内容,请选中复选框

Javascript 如果我在输入类型文本中写入内容,请选中复选框,javascript,php,jquery,wordpress,woocommerce,Javascript,Php,Jquery,Wordpress,Woocommerce,我正在尝试制作一个如下所示的表单: 如果输入type=“text”的内部类似于一个数字,则自动选中复选框,是jquery吗?或者简单的PHP 啊,更重要的是,我正在使用woocommerce,所以我将函数设置为那样 add_action('woocommerce_after_order_notes', 'my_custom_checkout_field'); function my_custom_checkout_field( $checkout ) { woocommer

我正在尝试制作一个如下所示的表单:

如果输入type=“text”的内部类似于一个数字,则自动选中复选框,是jquery吗?或者简单的PHP

啊,更重要的是,我正在使用woocommerce,所以我将函数设置为那样

add_action('woocommerce_after_order_notes', 'my_custom_checkout_field');


function my_custom_checkout_field( $checkout ) {




    woocommerce_form_field( 'losung', array( 
        'type'          => 'text', 
        'class'         => array('my-field-class'), 

        'label'         => __('titel'), 
        'placeholder'   => __('Enter a number'),
        ), $checkout->get_value( 'my_field_name' ));
        echo '<div class="spiele-container">';
        echo '<input class="input-checkbox pull-left" id="" type="checkbox" name="ter">';
        echo '<div id="text-container-spiele">text ';
    echo '</div>';
    echo '</div>';

}
add_action('woocommerce_在订单注释之后,'my_custom_checkout_字段');
函数my_custom_checkout_字段($checkout){
格式字段('losung',数组(
'类型'=>'文本',
'class'=>数组('my-field-class'),
“标签”=>“‘滴度’”,
“占位符”=>(输入一个数字),
),$checkout->get_value('my_field_name');
回声';
回声';
呼应“文本”;
回声';
回声';
}

您可以执行以下操作:

HTML:

<input type="text" class="something" />
<br>  
<input type="checkbox" name="check" class="check">
<input type="text" class="num" />
<br>  
<input type="checkbox" name="check" class="check">
演示

更干净的解决方案是为文本字段以及复选框使用class/id,并使用如下方法:

HTML:

<input type="text" class="something" />
<br>  
<input type="checkbox" name="check" class="check">
<input type="text" class="num" />
<br>  
<input type="checkbox" name="check" class="check">
演示

根据@Fred,要禁止用户手动单击复选框,只需使用
disabled
属性,如下所示:

 <input type="checkbox" disabled name="check" class="check">

演示

使用此jQuery代码

假设您有id
tbox
作为文本框,id
cbox
作为复选框

$( "#tbox" ).keypress(function() {
    $('#cbox').prop('checked', true);
});
按键是在文本框中输入字符时触发的功能

prop函数是jQuery1.6+。

好吧,这是一个JS任务(大多数情况下,没有重新加载页面的事情都是关于JS的)。使用jQuery,您需要的代码如下

$(function(){
  $('.my-field-class').keyup(function(){
    var $cb =  $(this).parents('form:eq(0)').find('.input-checkbox');
    if(this.value != '')
      $cb.attr('checked', 'checked');
    else
      $cb.removeAttr('checked');
  });
});

你能提供一个提琴什么的吗?与PHP无关在这种情况下,它是一个jquery/javascript的东西。这就是我想要的,但是,如果你删除文本,仍然会出现复选框选中,回答好!如果没有输入文本,最好的补充是防止选中复选框。这里发生的风险是,如果有人选中复选框,可能会发送一个空值,我怀疑OP会想要这个值。(只是说);-)