2010-07-01 6 views
0

PHP의 응용 프로그램에서 사용할 양식을 만드는 데 사용할 수있는 특정 필드를 정의하는 CMS 시스템의 범위에서 작업하고 있습니다. 내가 thusly 히 사용목록에서 선택한 항목을 기반으로 확인란의 값 설정

function inputBasicList ($id,$value = "",$list = array(), $displayName = NULL, $displayLabel = true) 

:

function inputCheckbox($id,$value = false, $displayName = NULL, $disabled = false, $displayLabel = true) 

I :

$theinput = new inputBasicList("type",$therecord["paymenttype"],array("Cash"=>"cash","Credit"=>"credit"), "Payment Type"); 

마찬가지로, 서명이 체크 박스가있다

목록 기능은 서명이 그렇게 사용하십시오

$theinput = new inputCheckbox("paid", $therecord["paid"], "Paid"); 

내가 원하는 것은 목록이 기본 현금 대신 신용으로 설정되어 있으면 확인란을 자동으로 true/checked로 설정하는 것입니다.

CMS 시스템은 내장 함수를 사용하여이 작업을 수행 할 수있는 방법을 허용하지 않으며 자바 스크립트를 추가 할 필요가 없다고 생각합니다.

PHP만으로 그런 일이 가능합니까?

그렇지 않으면 javascript가 얼마나 복잡한 일입니까?

는 편집 : phpBMS에서

생성 된 HTML 그것은 자바 스크립트에서 아주 쉽게해야

<p class="big"><label for="type" class="important">Payment Type</label> 
<br /> 
<select name="type" id="type" class="important" > 
<option value="cash" >Cash</option> 
<option value="credit" >Credit</option> 
</select> 
</p> 
<p class="big"> 
<input type="checkbox" id="paid" name="paid" value="1" class="radiochecks" /> 
<label id="paidLabel" for="paid" >Paid</label> 
</p> 

답변

0

PHP가 서버에서 실행되기 때문에 PHP만으로는 불가능합니다. 클라이언트에서 실행되는 코드가 필요합니다.

첫 번째 매개 변수 $id은 요소에 대해 id 속성으로 사용됩니다. 내가 틀렸다면 나를 바로 잡아라. 당신이 JQuery와 자바 스크립트 라이브러리를 사용하여 다음과 같은 작업을 수행 할 수 있도록하는 경우 :

jQuery(function($){ 
    $('#type').change(function(){ 
    if ($(this).val() == "credit") { 
     $('#paid').attr('checked','checked'); 
    } else { 
     $('#paid').removeAttr('checked'); 
    } 
    }); 
}); 

는 BMS가 Mootools의를 사용 , 자바 스크립트 Mootools의 작동이 같이 좋아한다 UDPATE :

window.addEvent('domready', function(){ 
    $('type').addEvent('change',function(){ 
    if($(this).get('value') == 'credit') { 
     $('paid').set('checked','checked'); 
    } else { 
     $('paid').removeProperty('checked'); 
    } 
    }); 
}); 

나는 추천 이 스 니펫의 mootools 버전을 사용하여 관심을 가져 주시면 jQuery를 설치하려는 경우 phpbms/common/javascriptjquery.js을 추가 할 수 있습니다.JQuery와 Mootools의 외에 문제없이 작동되도록

$tempjsarray[] = "common/javascript/jquery.js"; 

다음 $phpbms->showJsIncludes(); 후,이를 포함해야합니다 : 마지막 $tempjsarray[] 추가 한 후

: 그럼 당신은이를 포함 phpbms/header.php을 편집 할 수 있습니다

echo '<script type="text/javascript">jQuery.noConflict();</script>'; 

이것이 작동하지 않으면 html 출력의 모양을 게시해야합니다.

+0

안녕하세요, 예 $ id는 입력란 이름을 나타냅니다. jquery를 기존 CMS 시스템으로 가져올 수 없습니다. ... – Jacob

+0

왜 그렇게 할 수 없습니까? 나는 CMS를 많이 가지고 일했고 그들은 모두 원하는 자바 스크립트를 사용할 수 있습니다! 어떤 CMS를 사용하고 있습니까? – jigfox

+0

CMS보다 더 BMS, phpBMS. 여기 양식에 대한 템플릿입니다 : http://www.phpbms.org/browser/trunk/phpbms/modules/sample/sampletable_addedit.php 난 그냥 jquery를 쉽게 포함시킬 수 있다고 생각하지 않아요 – Jacob

0

을 형성한다. 목록의 onchange 함수에 이벤트 리스너를 첨부하고 해당 함수의 checkbox 값을 설정할 수 있습니다.

+0

표준 HTML 목록이 아니라 CMS에서 정의한 사용자 지정 목록입니다. 나는 청취자를 붙일 수 있다고 생각지 않는다. – Jacob

관련 문제