如何在值为0时调用HTML必需属性?

问题描述 投票:2回答:5

我有一个下拉列表,我从数据库中填充数据。

<div class="form-group">
  <label>Title:</label>
    <select class="form-control" name="Title" id ="titleselect" required>
        <!-- <option value="" selected="selected">?</option> -->
        <?php foreach ($titles as $row) {            
            if($this->session->userdata('status')=='active' && $this->session->userdata('Title') == $row->id) { ?>
            <option value="<?php echo $row->id; ?>" selected="selected"><?php echo $row->value; ?></option>
     <?php }else{?><option value="<?php echo $row->id; ?>"><?php echo $row->value; ?></option><?php } }?>
    </select>
</div>

我的表格,

form

如何从数据库中填充值,

how values are populated

我的数据库表,

enter image description here

我想在标题表单填充值“0”(即“?”)时添加验证,它应该调用HTML required属性。

或者我想禁用“?”选项标记。

我怎么能做到这一点?

javascript php jquery html codeigniter
5个回答
1
投票

我设法找到了解决问题的方法。我设法做到了没有任何JS或Jquery。刚添加了一个if语句。

<div class="form-group">
<label>Title:</label>
<select class="form-control" name="Title" id ="titleselect" required>  
<?php foreach ($titles as $row) {                          
          if($this->session->userdata('status')=='active' && $this->session->userdata('Title') == $row->id) { ?>
          <?php  if(($this->session->userdata('Title') == 0)) { ?>
                  <option value="" selected disabled><?php echo $row->value; ?></option> 
          <?php  } else{?>
                  <option value="<?php echo $row->id; ?>" selected="selected"><?php echo $row->value; ?></option>
          <?php } ?>
<?php }else{?><option value="<?php echo $row->id; ?>"><?php echo $row->value; ?></option><?php } }?>
</select>


0
投票

你可以像这样使用jquery:你可以使用id吗?比如id =“yourZeroOption”然后

$('option#yourZeroOption').each(function() {
    if ($(this).isChecked())
       $("select").attr("required", true);
     else
       alert('this filled cannot be ?');
});

因为你提出的问题不够清楚,这段代码可能会变得很好,如果你操纵这段代码,你可以从代码中得到你想要的东西。但这肯定会给你一个你应该做的事情的要点。顺便说一句,这段代码不需要提交,它会在此之前显示警报


0
投票

如果这是在Laravel中有一种方法可以捕获一定数量的通过。在这种情况下,请尝试使用带有自定义消息的greater_than规则。

$this->form_validation->set_rules('title', 'Title', 'greater_than[0]');
$this->form_validation->set_message('greater_than', 'Please select one of these value');

节点:JS验证有效,但记住它并不总是如此。


0
投票

你应该将你的<select>字段标记为required,然后将第一个选项标记为disabled(和selected):

<select required>
  <option value="" selected disabled>?</option>
  <option value="1">Mr.</option>
  <option value="2">Miss</option>
  <option value="3">Mrs.</option>
</select>

这将使第一个条目基本上作为placeholder工作。


0
投票

我们不能让它需要0值,只有value=""才能完成

这是我的想法,

<form action="/action_page.php">
<select required>
  <option value="0">?</option>
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
</select>
<input type="submit">
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
                       $("select option:selected").val("");
   
});
</script>
<style>
© www.soinside.com 2019 - 2024. All rights reserved.