2017-02-17 36 views
0

我有一個選擇下拉,我想要做的是提交表單後提交一個單一的選擇數據庫字段中的兩個值。我的下拉列表中有值A1,A2,A3,它們被輸入到db字段A中。我想要做的是當我爲A選擇A,A1,A2或A3時,則另一個字段B應該得到值B1,B2或B3因此,即當A = A1時,則B = B1,當A = A2時,則B = B2,當A = A3時,則B = B3。 我嘗試使用下面的代碼來建立,但是當我爲A選擇A1時,發生了什麼,然後A保存/提交表單時,A獲取A1但B不會更改值。 如果我再次保存表單而沒有對A進行任何更改,那麼A = A1並且從它的值更改爲B = B1,這是正確的,但只有在保存表單時纔會得到正確的值,選擇A. 現在,如果我選擇A = A2,那麼B不會再次更改值,它仍然是B1(B = B1)。如果我選擇A = A3然後B變成B2(B = B2)等我認爲你有點.....這種方式B是讓我們說「後面的選擇」..... 這是我的代碼:根據選定的值設置輸入值,並存儲到數據庫與PHP

<?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 accordignly當我保存的形式?即當A = A1時,B = B1,當A = A2時,則B = B2,當A = A3時,則B = B3? 我需要使用JavaScript,jQuery嗎? 我不熟悉這些,因爲你明白我不是程序員.... 你能告訴我我應該使用的代碼。 請幫助.....

回答

0

,你可以做這樣的

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

評論是不是擴展討論;這個對話已經[轉移到聊天](http://chat.stackoverflow.com/rooms/136036/discussion-on-answer-by-john-ambrose-set-input-value-depending-on-selected-value) 。 –

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/

+0

我在頁面上添加了並且您的代碼在我的代碼下面,但除了一些錯誤,我進入了鉻控制檯它沒有工作....我可能做錯了。你能把整個代碼發給我嗎?謝謝 – its4yougr

+0

我忘了提及A和B是相同記錄的db字段。這是否改變了一切? – its4yougr

+0

我認爲jQuery包含在頁面標題中。我在內看到這些行: \t 標籤....這是Joomla 3後端文件..... – its4yougr

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> 

但我調整它到我的變量,它的作品就像一個魅力! ! ! 我再次非常感謝你

相關問題