【问题标题】:Add style to html.dropdownlist when using javascript function on change在更改时使用 javascript 函数时向 html.dropdownlist 添加样式
【发布时间】:2012-05-11 03:25:53
【问题描述】:

我想在这个下拉列表中添加背景颜色.. 我该怎么做.. 我尝试在下面的代码中添加 new{style="background-color: #fff;"} .. 但这似乎没有上班。。

     <%=Html.DropDownList("dd", 
                       new List<SelectListItem>
         {
            new SelectListItem{ Text="dd1", Value = "dd1" }, 
            new SelectListItem{ Text="dd2", Value = "dd2" }

         }
                            , new { onchange = "jsfunc()" } 


         )%>

我试过了:

     <%=Html.DropDownList("dd", 
                       new List<SelectListItem>
         {
            new SelectListItem{ Text="dd1", Value = "dd1" }, 
            new SelectListItem{ Text="dd2", Value = "dd2" }

         }
                            , new { onchange = "jsfunc()" }
                            , new {style="background-color: #fff;"}


         )%>

【问题讨论】:

    标签: javascript jquery asp.net css asp.net-mvc-2


    【解决方案1】:

    您应该避免使用内联样式。我建议创建一个类,语法是

    new { @class = "yourclass", @onchange = "jsfunc()" }

    【讨论】:

    • 这不起作用..我用你的代码替换了我的最后一行代码,它似乎无法识别 html.dropdownlist 的第四个参数..
    • 这很可能是因为你有 ` , new { onchange = "jsfunc()" } ` try ` new { @onchange = "jsfunc()", @class= "yourclass" } ` 但是,我建议您使用 Null 在他的回答中提到的外部 javascript。
    【解决方案2】:

    我认为你有一个语法错误,new {@style = "background-color: #fff"},但你应该改用一个类。

    编辑

    new { @onchange = "jsfunc()", @style = "background-color: #fff"}
    

    【讨论】:

    • 问题是它似乎无法识别 html.dropdownlist 的第四个参数.. 即使我使用类而不是样式.. 我得到错误。
    • 查看我的编辑,可以解决吗?您可以传递一个或多个属性。
    • 这不会立即改变背景颜色。我必须点击下拉才能看到颜色?为什么会这样
    • 你能发布渲染的 HTML 吗?
    猜你喜欢
    • 2018-05-09
    • 1970-01-01
    • 2017-10-10
    • 2016-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-28
    • 2023-03-15
    相关资源
    最近更新 更多