0

ドロップダウンで値が選択されている場合、選択した項目のテキストをテキスト ボックスに表示したいと考えています。そうでない場合は、空にしたいです。

<asp:DropDownList ID="ddl"  runat="server" AutoPostBack="true" onselectedindexchanged="ddlSelectedIndexChanged" Width="200px" onchange="ddlChange()">
</asp:DropDownList>
<asp:TextBox ID="hdntxtbxTaksit" runat="server" Visible="false"></asp:TextBox>

これどうやってするの?

4

4 に答える 4

1

ドロップダウンリストの選択した値をテキストボックスに割り当てたい場合は、条件なしで変更イベントに割り当てることができますchange event means dropdown have been selected

ジャバスクリプトで

変化する

onchange="ddlChange()"

onchange="ddlChange(this)"

あなたのjavascriptメソッドは

function ddlChange(ddl)
{      
      document.getElementById('<%= hdntxtbxTaksit.ClientId %>').value = this.value;
}

jQueryで

イベントを jquery にバインドするため、 onchange="ddlChange()" を削除します。

$('<%= ddl.ClientId %>').change(function(){          
          $('<%= hdntxtbxTaksit.ClientId %>').val($(this).val());    
});
于 2012-11-19T10:08:44.140 に答える
1

jQuery の使用;

$().ready(function(){           
  $('#<%=ddl.ClientID %>').change(function () {               
    $('#<%=hdntxtbxTaksit.ClientID %>').val($(this).val() == "0" ? "" : $(this).val());              
  });
});

編集:onchange上記の方法では、ドロップダウンのイベントを呼び出す必要はありません。だからあなたのマークアップは

<asp:DropDownList ID="ddl"  runat="server" AutoPostBack="true"
         onselectedindexchanged="ddlSelectedIndexChanged" Width="200px">
</asp:DropDownList>
<asp:TextBox ID="hdntxtbxTaksit" runat="server" Visible="false"></asp:TextBox>
于 2012-11-19T10:14:53.517 に答える
0

あなたはこのようにすることができます

function ddlChange()
{
   if(document.getElementById('<%= ddl.ClientId %>').value=='0')
   {
      document.getElementById('<%= hdntxtbxTaksit.ClientId %>').value = "";
   }
   else
   {
      document.getElementById('<%= hdntxtbxTaksit.ClientId %>').value = document.getElementById('<%= ddl.ClientId %>').value;    
   }
}
于 2012-11-19T10:11:47.187 に答える
0

このコードを試して、asp:dropdownlist に追加された onchange イベントを削除してください

注: AUTOPOSTBACK プロパティは常にページの送信を行います。ドロップダウンの onchange メソッドで false を返しても停止しません。

        $(document).ready(function () {
            $('#<%=ddl.ClientID %>').change(function () {

                if ($(this).val() != "0") {
                    $('#<%= hdntxtbxTaksit.ClientID %>').val($(this).val());
                }
                else {
                    $('#<%= hdntxtbxTaksit.ClientID %>').val("");
                }
            });

        });
于 2012-11-19T10:13:16.300 に答える