3

5つのアイテムを含むドロップダウンリストがあります。最後の項目の値は「その他」です。「その他」を選択すると、入力とともにポップアップが表示されます。この入力の値は、j​​avascriptによってこのアイテムに設定されています。したがって、値は挿入されたテキストになります。フォームを送信すると、この動的な値では機能しませんが、選択した他の項目は機能します。何か案は?どうもありがとう!

4

3 に答える 3

4

これは、Request.Paramsコレクションを使用して動的に付加価値を読み取る簡単な例です。

これがクライアント側のコードです。

<!-- Server Control - Drop Down List -->
<asp:DropDownList ID="ddList" runat="server">
    <asp:ListItem Text="A" Value="A"></asp:ListItem>
    <asp:ListItem Text="B" Value="B"></asp:ListItem>
    <asp:ListItem Text="C" Value="C"></asp:ListItem>
</asp:DropDownList>

<!-- Control to fire JS event to add a new item to the Drop Down List above -->
<input type="button" value="Add Item D" id="AddItem" />

<!-- jQuery event to add a new option to the list on the click (no postback) -->
$('#AddItem').click(function ()
{
    $('#<%= ddList.ClientID %>').append('<option value="D">D</option>');
});

値を読み取るためのサーバー側のコードは次のとおりです。

var ddlListSelectedValue = Request.Params["ddList"];
于 2012-05-08T16:35:47.567 に答える
2

この値をドロップダウンリストアイテムの値として設定するのではなく、非表示フィールドを使用できます

<input type="hidden" id="hiddenField" runat="server" />

以下のようにJavaScriptを使用して値を設定します

document.getElementById ("hiddenField").value = "inputValue";

hiddenField値は、以下のようにコードビハインドからアクセスできます

string inputValue = hiddenField.Value;
于 2012-05-08T15:10:46.373 に答える
1

機能を更新するだけ

$('#AddItem').click(function ()
{
var dropdown= document.getElementById("<%= ddList.ClientID %>");
dropdown.options[dropdown.options.length] = new Option('YOUR TEXT', 'YOUR VALUE');
});

乾杯



私はそれを自分でテストしました、それはうまくいきます。以下は完全な例です。

<html>
<head>
<title>Test ddl Item Addition By IuR</title>
</head>
<body onload="add_dditem()">
<script type="text/javascript">
function add_dditem()
{
var dropdown= document.getElementById("ddList");
dropdown.options[dropdown.options.length] = new Option('YOUR TEXT', 'YOUR VALUE');
}
</script>

<select id="ddList">
</select>
</body>
</html>
于 2012-05-10T10:44:41.113 に答える