2012-11-12 5 views
1

이 버스의 해상도가 높거나 낮음을 검색했습니다. 해결되지 않았습니다. 동적 드롭 다운을 사용하여 두 번째 드롭 다운에서 값을 조정하고 텍스트 상자에 텍스트 값을 채우고 싶을 때이 기능을 사용할 수있었습니다.동적 드롭 다운 목록에서 텍스트 상자를 채우십시오.

이제 두 번째 단계를 생략하고 싶습니다. 즉. 나는 실제로 두 번째 드롭 다운을 없애고 단순히 텍스트 상자에 값을 입력하려고합니다. 나는 두 번째 단계를 제거하기 위해 모든 노력을 다했으나 모든 작업을 마치는 즉시 작업을 중단합니다. 함수 다운 번째 드롭 보인다하고 대한 옵션을 설정하고, I는 라인

document.getElementById를 ('fld_ClientID.') 값 = ""

그것을 얻는 첨가 순간

텍스트 상자에 데이터를 입력합니다. tblPromotions에 대한 참조를 완전히 없애고 텍스트 상자의 데이터 만 가져 오도록하려면 어떻게해야합니까?

<script language="javascript"> 
function setOptions(chosen) { 
    var selbox = document.myform.selectpromotion; 

    selbox.options.length = 0; 
    if (chosen == "0") { 
    selbox.options[selbox.options.length] = new Option('First select a client','0'); 

    } 
    <?php 
    $client_result = mysql_query("SELECT * FROM tblClients ORDER BY ClientName") or die(mysql_error()); 
    while(@($c=mysql_fetch_array($client_result))) 
    { 
    ?> 
    if (chosen == "<?=$c['ClientID'];?>") { 

    <?php 
    $c_id = $c['ClientID']; 
    $promo_result = mysql_query("SELECT * FROM tblPromotions WHERE ClientID='$c_id'") or die(mysql_error()); 
    while(@($m=mysql_fetch_array($promo_result))) 
    { 
    ?> 
     selbox.options[selbox.options.length] = new 
     Option('<?=$m['PromotionName'];?>','<?=$m['ClientID'];?>'); 
     document.getElementById('fld_ClientID').value ="<?=$m['ClientID'];?>"; 
    <?php 
    } 
    ?> 
    } 
    <?php 
    } 
    ?> 
} 
</script> 
</head> 
<body> 
<form name="myform" method="POST" action="processaddpromotionNEW.php"> ><div align="center"> 
    <p> 
    <select name="selectclient" size="1" 
    onchange="setOptions(document.myform.selectclient.options 
    [document.myform.selectclient.selectedIndex].value);"> 
    <option value="0" selected>Select a client</option> 
    <?php 
    $result = mysql_query("SELECT * FROM tblClients ORDER BY ClientName") or die(mysql_error()); 
     while(@($r=mysql_fetch_array($result))) 
    { 
    ?> 
    <option value="<?=$r['ClientID'];?>"> 
     <?=$r['ClientName'];?> 
     </option> 
    <?php 
    } 
    ?> 
    </select> 
    <br><br> 
    <select name="selectpromotion" size="1"> 
    <option value=" " selected>First select a client</option> 
    </select> 
    </p> 
    <p> 
<input name="fld_ClientID" type="text" class="Arial" id="fld_ClientID" tabindex="11" size="10" /> 
    <br> 

답변

0

아마도 자바 스크립트 함수 내에서 mysql 쿼리를 수행하면 안됩니다. 당신은해야 하나 : 사용 아약스는 또는 쿼리 가능한 모든 옵션을 한 번에 가능한 옵션을 얻을 전역 변수

같은 뭔가에 저장하기 :

<script> 
var secondOptions = {}; 
<?php 
    $promo_result = mysql_query("SELECT * FROM tblPromotions") or die(mysql_error()); 
    while(@($m=mysql_fetch_array($promo_result))){ 
    ?> 
     if(secondOptions['<?=$m['ClientID'];?>'] == undefined) 
      secondOptions['<?=$m['ClientID'];?>'] = {}; 
     secondOptions['<?=$m['ClientID'];?>']['<?=$m['PromotionId'];?>'] = '<?=$m['PromotionName'];?>'; 
    <?php 
    } 
    ?> 

    setOptions(clientId){ 
     jQuery("select[name=selectpromotion]").empty(); 
     options = ""; 
     jQuery.each(secondOptions[clientID],function(a,b){ 
      options += "<option value='"+a+"'>"+b+"</options>"; 
      }); 
     jQuery("select[name=selectpromotion]").append(options); 
    } 

    <select name="selectclient" size="1" onchange="setOptions(jQuery(this).val());"> 

    ... 
관련 문제