2014-09-27 2 views
0

선택한 플러그인을 사용하여 동적 선택 및 입력을 만듭니다. 내가 뭘 하려는지, 기본 placeholder 대신 php에서 결과를 기반으로 자리 표시 자에 텍스트를 추가하고 입력을 해제합니다.PHP에서 결과를 기반으로 입력 사용 안 함

현재 에코가 선택 항목에 표시되고 코드 변경 사항을 반영하도록 변경할 수 있습니다. 아마도 '데이터'의 가치를 확인하는 if 문과 '해당 상자에 파일이 없습니다'라는 생각이 들었지만 여전히 도움이 필요합니다. 비활성화해야하는 입력은 #file_dstr입니다.

아마도이 문제를 해결하는 다양한 방법을 살펴 보았지만 제 jQuery 기술은 슬프게도 부족합니다. 누군가가 이것을 성취하도록 도울 수 있으면 고맙겠습니다. 많은 감사.

플러그인 : 당신이 변수 $ NOFILES이있는 경우 http://harvesthq.github.io/chosen/options.html

HTML하는

<div class="fieldset"> 
    <h1><span>Select Your File(s)</span></h1> 
    <p> 
     <select data-placeholder="Choose your file(s)..." class="chosen-select" name="file_dstr[]" id="file_dstr" multiple required="required"> 
     <option value=""></option> 

     </select><span></span> 
     </p> 
</div> 

JQuery와

submitHandler: function() 
{ 
    if ($("#USRfiledstr").valid() === true) 
    { 
    var data = $("#USRfiledstr").serialize(); 

    $.ajax(
    { 
     type: "POST", 
     url: "fdstr.php", 
     data: data, 
     dataType: "json", 

     success: function (data) 
     { 
     if (data.opp == 'error') 
     { 
      var messageOutput = ''; 
      for (var i = 0; i < data.length; i++) 
      { 

      messageOutput += data[i].file + ' '; 

      } 

      notif({ 
      msg: "There was an error destroying the following file: " + '<br /><br />' + '<b><font color=\"black\">' + data.file + '</font></b><br /><br />' + ' Please correct this error and try again.<br />If this error persists, please contact us quoting ref: ' + '<b><font color=\"#fbf66a\">' + '#FDSTR0001.<br />' + '</font>' + '<br />' + 'Thank you.', 
      type: "frtvError", 
      position: "center", 
      width: 490, 
      height: 75, 
      multiline: true, 
      timeout: 6000, 
      opacity: 0.8, 
      fade: 10, 
     }); 
     } 
     else 
     { 
      var messageOutputs = ''; 
      for (var i = 0; i < data.length; i++) 
      { 

      messageOutputs += data[i].file + ' '; 

      } 

      $("#USRfiledstr").get(0).reset(); 
      $("#file_dstr").load("refreshFdstr.php"); 
      //$(".chosen-select").val('').trigger("chosen:updated"); 
      $("#fdstr_dept").trigger("chosen:updated"); 
      $("#fdstr_address").trigger("chosen:updated"); 

      notif({ 
      msg: "You have successfully destroyed the following file(s)." + '<br /><br />' + '<b><font color=\"black\">' + data.file + '</font></b><br /><br />' + ' This transaction was successfully entered into the database.<br />Thank you.', 
      type: "FileRtvSuccess", 
      position: "center", 
      width: 490, 
      height: 75, 
      multiline: true, 
      timeout: 6000, 
      opacity: 0.9, 
      fade: 10, 
     }); 
     $("#fdstrbox_add_chosen").find('option:selected').remove(); 
     $("#fdstrbox_add").html(''); 
     $("#fdstrbox_add").trigger("chosen:updated"); 
     $("#file_dstr_chosen").find('option:selected').remove(); 
     $("#file_dstr").html(''); 
     $("#file_dstr").trigger("chosen:updated"); 
     } 

     } 
    }); 
    } 
} 

PHP

echo "<option value='No files in that box'>No files in that box</option>"; 

답변

1

사실 일 것입니다 파일이 없으면 false를 사용합니다.

<select data-placeholder="Choose your file(s)...<?= $noFiles?' some extra text':''; ?>" class="chosen-select" name="file_dstr[]" id="file_dstr" multiple required="required"<?= $noFiles?' disabled':''; ?>> 
+0

답장을 보내 주셔서 감사합니다. 그 변수를 어디서 만들까요? – user1532468

+0

아마도 if 문 안에 "상자에 파일이 없습니다"옵션을 출력하는 현재 php가있을 것입니다. if (XXX)를 $ noFiles = xxx로 바꾸면; 아마도 트릭을 할 것입니다. –

+0

입력란에 '상자 선택'대신 코드가 표시됩니다. 이것은 PHP 코드에서 수정 한 것입니다. if (mysql_num_rows ($ result)> 0) { \t \t while ($ row = mysql_fetch_array ($ result)) { echo " "; } \t \t} 다른 { \t \t $ NOFILES이 = '없음 상자가 표시 없습니다'; \t \t} 및 귀하의 코드를 html로 게시하십시오. 감사합니다 – user1532468