2017-09-20 28 views
0

私はいくつかのcheckboxesを持っています。私はデータベースからデータを取得してチェックボックスに値を設定し、チェックするものを決定します。他の場合はtextboxに値を書き込む必要があります。例えば、categories="Coconuts,Apple,Orange"テキストボックスの値を増やす方法

だから私はtextboxにあるように「OrangeApple」確認することがCoconuts &その他のチェックボックスを必要とする、と。

私がtextboxに入った結果は「アップル」だけです、誰でも助けてくれますか?

$.ajax({ 
    type:"POST", 
    url:"EditFarmerData.php", 
    dataType: 'json', 
    data:{'EditFarmerID': EditFarmerID}, 
    success: function (data) { 
    for (x in data.categories) { 
     switch(data.categories[x]) { 
     case'Cacao': 
      $("#EditFarmerForm input[type=checkbox][value=Cacao]").prop("checked",true); 
      break; 

     case'Coconuts': 
      $("#EditFarmerForm input[type=checkbox][value=Coconuts]").prop("checked",true); 
      break; 

     case'Bananas': 
      $("#EditFarmerForm input[type=checkbox][value=Bananas]").prop("checked",true); 
      break; 

     case'': 
      $('#EditFarmerForm input[type=checkbox]').prop('checked',false); 
      $("#Editotherproduct").val("") ; 
      break; 

     default: 
      $("#EditFarmerForm input[type=checkbox][value=Others]").prop("checked",true); 
      $("#Editotherproduct").val(data.categories[x]); 
      break; 
     } 
    } 
    } 
}); 

答えて

1

は、このようにする必要があり、単純なアプローチは、あなたがに値を設定するとテキストボックスdefault場合

$.each(data.categories, function(key, value) { 
    switch(data.categories[x]) 
    { 
     case'Cacao': 
      $("#EditFarmerForm input[type=checkbox][value=Cacao]").prop("checked",true); 
     break; 

     case'Coconuts': 
      $("#EditFarmerForm input[type=checkbox][value=Coconuts]").prop("checked",true); 
     break; 

     case'Bananas': 
      $("#EditFarmerForm input[type=checkbox][value=Bananas]").prop("checked",true); 
     break; 

     case'': 
      $('#EditFarmerForm input[type=checkbox]').prop('checked',false); 
      $("#Editotherproduct").val("") ; 
     break; 

     default: 
      $("#EditFarmerForm input[type=checkbox][value=Others]").prop("checked",true); 
      var temp = $("#Editotherproduct").val(); 
      $("#Editotherproduct").val(temp+","+value); 
     break; 
    } 
}); 
3

に追加するテキストボックス+新しい値で古い値の文字列連結を使用することです$("#Editotherproduct")、それは常に最新のものに更新されます。

これを解決するには、まず現在の値を取得する必要があります

var currentOtherProductValue = $("#Editotherproduct").val(); 

そして、ここ

はシンプルなソリューションである、[concate]既存の値と、あなたはあなたの方法としてそれを行うことができます追加します。

default: 
     $("#EditFarmerForm input[type=checkbox][value=Others]").prop("checked",true); 
     var currentOtherProductValue = $("#Editotherproduct").val()       
     $("#Editotherproduct").val(currentOtherProductValue+','+ data.categories[x]); 
     break; 
+0

はありがとう、私は 『currentOtherProductValue』は、いくつかの値を持っているかどうかをチェックすることができます – NewDeveloper

+0

テキストボックスの先頭に「」常に存在すること、小さな問題を持って、その値を追加し、パーソナルプラグインr wiseは値を設定します。 Exの場合:if($。trim(currentOtherProductValue))をカンマで区切ります。それ以外の場合は値を設定します –

関連する問題