Pergunta

Hai caras, Eu tenho três caixas de texto e uma caixa de listagem ... Se o usuário clica na primeira caixa de texto e clique em um item da lista o item selecionado deve ser definido como o valor para a caixa de texto ... Eu quero isso em javascript ....

Foi útil?

Solução

Use o código abaixo para lista com conjunto de atributos SelectionMode para Single.

var istBoxElement = document.getElementById ( "ListBox1" );
var textBoxElement = document.getElementById ( "txtBox1" );    

textBoxElement.value = elem.value;

e escrever este dentro do evento onfocus do elemento de caixa de texto.

Exemplo de código

<script type="text/javascript">
    window.onload = function() { BindEvents(); }

    function BindEvents ()
    {
        var textBx = document.getElementById ( "txt1" );
        textBx.onfocus = function () {
            SetSel(this);
        }
    }

    function SetSel (elem)
    {
        alert ( elem.id );
        var elem = document.getElementById ( "ListBox1" );
        document.getElementById ( "txt1" ).value =  elem.value;
    }
</script>

<div id="divMain">
    <input type="text" id="txt1" />
    <asp:ListBox ID="ListBox1" runat="server" SelectionMode="Multiple">
        <asp:ListItem>1</asp:ListItem>
        <asp:ListItem>2</asp:ListItem>
        <asp:ListItem>3</asp:ListItem>
    </asp:ListBox>
</div>

Outras dicas

Eu acho que você está procurando onBlur. Você pode manter uma variável com o último item visualizado e só usar JavaScript para definir o texto.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top