如何获取具有特定名称(属性)的表单字段?

时间:2012-08-07 15:35:43

标签: jquery html5

我现在正在做的是使用HTML5数据属性来保存一些我想要回发的静态信息。另外,我正在使用Steve的(忘了姓)索引HtmlHelper和ASP.NET MVC 3.我想要做的是使用一些javascript / jquery来获取具有“.SomeProperty”的INPUT和SELECT标签name属性。我认为这是我需要的一部分:

var formData = $('#' + div_id).find('input, select');

但我不确定如何过滤该物业。

我的代码的示例:

<form action="/TestEdit/Sections/5/100100/44/A" id="line_756_A4" method="post">        
    <div style="clear:both; padding:1%;">       
        <div class="section">
            A
        </div>
        <div class="number">
            4
        </div>
        <div class="desc">
            Fourth Row of in the sun
        </div>
        <div class="ctrl">  

            <input type="hidden" name="RowInput.index" autocomplete="off" value="ec65a509-12c7-4029-b774-10b84ae73a66" />
            <input type="hidden" name="RowInput.index" autocomplete="off" value="41936720-0509-428c-8aaf-3bd547cc8084" />

            <label for="RowInput_41936720-0509-428c-8aaf-3bd547cc8084__InputtedData">Space Station</label>
            <input data-ctrltypeid="4" data-instid="4" id="RowInput_41936720-0509-428c-8aaf-3bd547cc8084__InputtedData" name="RowInput[41936720-0509-428c-8aaf-3bd547cc8084].InputtedData" type="radio" value="1" />

            <label for="RowInput_41936720-0509-428c-8aaf-3bd547cc8084__InputtedData">Solar System</label>
            <input data-ctrltypeid="4" data-instid="4" id="RowInput_41936720-0509-428c-8aaf-3bd547cc8084__InputtedData" name="RowInput[41936720-0509-428c-8aaf-3bd547cc8084].InputtedData" type="radio" value="2" />

            <label for="RowInput_41936720-0509-428c-8aaf-3bd547cc8084__InputtedData">Galaxy</label>
            <input checked="checked" data-ctrltypeid="4" data-instid="4" id="RowInput_41936720-0509-428c-8aaf-3bd547cc8084__InputtedData" name="RowInput[41936720-0509-428c-8aaf-3bd547cc8084].InputtedData" type="radio" value="3" />

            <br /> 

        </div>
        <div class="done">
            <input id="10" type="button" onclick="javascript:postBackPart($(this).parent().parent().parent().attr('id'));" value="button" />
        </div>
        <div class="foo">
            107
        </div>
        <div class="bar">
            18129
        </div>
        <div class="baz">
            512
        </div>
        <div class="baz">
            8052
        </div>
    </div>
</form>

2 个答案:

答案 0 :(得分:1)

// get all elements that have that attribute with the given value
$('*[attributeName=attributeValue]');

答案 1 :(得分:1)

$('input, select').filter('[name*=".SomeProperty"]')

这将使inputselect元素在其名称中包含“.SomeProperty”。请注意,它不要求名称​​完全“。SomeProperty”;相反,它包含它。

根据您问题下方的评论,这似乎就是您所需要的。