根据所选值设置输入值,并使用php存储到db

时间:2017-02-17 07:52:05

标签: javascript php jquery mysql joomla3.0

我有一个选择下拉列表,我想要做的是在提交表单后将两个值设置到db字段中,只有一个选择。我的下拉值为A1,A2,A3,输入到db字段A.我想要做的是当我选择A:A1,A2或A3时,另一个字段B应该得到值B1,B2或B3因此即当A = A1然后B = B1时,当A = A2然后B = B2时,当A = A3时则B = B3。 我尝试使用下面的代码建立它,但是当我为A选择A1然后A得到A1但B在保存/提交表单时没有改变值时会发生什么。 如果我再次保存表单没有A的任何更改,那么A = A1并且从它的值变为B = B1,这是正确的但只有当我保存表单没有更改我的选择时它才会得到正确的值为一个。 现在,如果我选择A = A2,那么B不会再次改变它,它仍然是B1(B = B1)。如果我选择A = A3然后B变为B2(B = B2)等我认为你得到了点.....这样B就可以说"选择背后" ..... 这是我的代码:

<?php if( $this->item->A == 'A1'){ echo ($this->item->A);  echo ($this->item->B); ?>
<select name="A"><option value="A1" selected="selected">A1</option><option value="A2">A2</option><option value="A3">A3</option></select>
<input type="text" name="B" id="B" style="display:none;" value=B1>
<?php echo ($this->item->B); } 
elseif( $this->item->A == 'A2') { echo ($this->item->A); echo ($this->item->B); ?>
<select name="A"><option value="A1">A1</option><option value="A2" selected="selected">A2</option><option value="A3">A3</option></select>
<input type="text" name="B" id="B" style="display:none;" value=B2>
<?php echo ($this->item->B); }
elseif( $this->item->A == 'A3') { echo ($this->item->A); echo ($this->item->B); ?>
<select name="A"><option value="A1">A1</option><option value="A2">A2</option><option value="A3" selected="selected">A3</option></select>
<input type="text" name="B" id="B" style="display:none;" value=B3>
<?php echo ($this->item->B); }
else {?>
<select name="A"><option value="A1">A1</option><option value="A2" >A2</option><option value="A3">A3</option></select>
<?php } ?>

问题:当我选择A:A1,A2或A3时,如何在保存表格时,B得到符号B1,B2或B3?即当A = A1然后B = B1,当A = A2然后B = B2,当A = A3然后B = B3? 我需要使用JavaScript,jQuery吗? 我不熟悉那些,因为你知道我不是程序员.... 你能告诉我我应该使用的代码吗? 请帮忙.....

3 个答案:

答案 0 :(得分:0)

你可以这样做

$('[name=A]').change(function(){
$('#B').val($(this).val());
});

答案 1 :(得分:0)

HTML应该是这样的:

<select name='A'>
  <option data-input="B1" value='A1'>A1</option>
  <option data-input="B2" value='A2'>A2</option>
  <option data-input="B3" value='A3'>A3</option>
</select>
<input name='B'>

在页眉中包含jQuery。并添加以下脚本。

    <script>   
        $(document).ready(function() {
            $('select[name="A"]').change(function() {
                $('input[name="B"]').val($(this).find(':selected').data('input'));
            });
        });
    </script>

这里是小提琴: https://jsfiddle.net/merqe16e/1/

答案 2 :(得分:0)

我非常感谢你.....我通过理解你的答案并应用以下解决方案终于得到了我的问题的答案:

<select name='A'>
   <option data-input="B1" value='A1'>A1</option>
   <option data-input="B2" value='A2'>A2</option>
   <option data-input="B3" value='A3'>A3</option>
</select>
<input type="number" id="B" name='B'>

<script>   
   $(document).ready(function() {
   $('select[name="A"]').change(function() {
   $('input[name="B"]').val($(this).find(':selected').data('input'));
  });
});
</script>

但我把它调整到我的变量,它就像一个魅力! ! ! 我非常感谢你