【问题标题】:getting value from an option after condition jquery在条件 jquery 之后从选项中获取值
【发布时间】:2017-03-08 23:20:25
【问题描述】:

我有一个选择选项,我需要选择一种产品,然后选择一种产品。 在这两个选择之后,我需要为它选择类别。 如果我选择某个产品并输入它会自动为它选择一个类别,它会阻止类别选项。

为此我提出了这个条件:

 $( ".target" ).change(function() {
   var type  = $('.target[data-prod=type]').val();
   var product = $('.target[data-prod=product]').val();

     if (type == '1'  && product =='pillow') {
       $('#unhide').removeClass('hidden');
       $('.category').prop('disabled', true);

       $('div.cte select').val('color');   //this is wrong? not getting value of it after submit
     }else{
       $('#unhide').addClass('hidden');
       }

 });

顺便说一句,我的类别选择选项是动态的:

<div class="form-group cte">
<label>Categoria</label>
 <select  name="categoria" class="form-control  category">


 <?php  
   $sel_cat = "SELECT category_name FROM gallery_category ORDER BY category_name ASC";    
   $run_cat = mysqli_query($conn,$sel_cat);
   while($rows = mysqli_fetch_assoc($run_cat)){
    echo ' <option value="'.$rows['category_name'].'">'.ucfirst($rows['category_name']).'</option>';  
   }
 ?>
 </select>
</div>

我想选择这个选项:

<option value="color'">Colors</option>

所以我可以在提交后获得它的价值。 当我提交时,我的类别值是空的,我该怎么办?

观察: (我不太擅长 jquery)

我知道这个 php 查询很容易受到攻击,只是为了方便起见。

【问题讨论】:

  • 使用.val()获取选定的值,现在你设置它
  • 这样 .val('value="color" '); ?
  • $('div.cte select').val();
  • 您正在使用 $('.category').prop('disabled', true); 禁用您的类别选择,这使得它在表单提交时为空。检查是否在未在 select 上添加 disabled 属性的情况下获得了值

标签: php jquery


【解决方案1】:

向表单输入添加 disabled 属性会使它们在提交的数据中不可用。您正在禁用您在此行中的选择:

$('.category').prop('disabled', true);

这就是你得到空值的原因。尝试在表单提交时启用它以允许数据访问,如下所示:

$('#myFormId').submit(function() {
  $('.category').prop('disabled', false);
});

【讨论】:

    【解决方案2】:

    硬编码你可以像这样选择它:

    $('[name=categoria]').val( 3 ); // select with index :3
    

    这对你不起作用,因为你提到你的选项是动态的,所以我们需要从文本中选择它:

    $('[name=categoria] option').filter(function() { 
        return ($(this).text() == 'Colors'); //To select on the string Colors
    }).prop('selected', true);
    

    或者动态使用值:

    $('[name=categoria] option').filter(function() { 
        return ($(this).val() == 'color'); //To select on the value color
    }).prop('selected', true);
    

    【讨论】:

      猜你喜欢
      • 2014-07-12
      • 1970-01-01
      • 2016-03-04
      • 1970-01-01
      • 2011-12-14
      • 1970-01-01
      • 2021-04-19
      • 2018-06-20
      相关资源
      最近更新 更多