jQuery两次给我相同的标签文本

时间:2014-01-24 14:53:24

标签: javascript jquery asp.net modal-dialog

我正在使用jquery选中单选按钮标签文本并选择选项选项,但我收到的文字是重复的:

<form>
<fieldset>
    <ul>
        <li>
            <input type="radio" name="exportType" value="ALL0" checked="checked" />
            <label for="exportType">ALL PRODUCTS</label> 
        </li>
        <li>
            <input type="radio" name="exportType" value="BASIC" />
            <label for="exportType">BASIC PRODUCTS</label> 
        </li>

        <li>
            <select name="agreementType">
                <option value="">New</option>
                <option value="">Quick Change</option>
            </select> 
        </li>
    </ul>
</fieldset>

选择并检查文本:

var exp = $('input[name=exportType]:checked + label').text();
var agr = $('select[name=agreementType]').children().filter(':selected').text();

如果我选择单选按钮选项,结果为:

  • exp:所有产品产品
  • agr:NewNew

  • exp:BASIC PRODUCTSBASIC PRODUCTS
  • agr:Quick ChangeQuick Change

2 个答案:

答案 0 :(得分:0)

尝试改变:

var exp = $('input[name=exportType]:checked + label').text();

为:

var exp = $('input[name=exportType]:checked').next().text();

或:

var exp = $('input[name=exportType]:checked').siblings('label').text();

您可以在此处使用 next() siblings(),因为label是单选按钮的下一个元素或兄弟

答案 1 :(得分:0)

使用jQuery 1.9.1 http://jsfiddle.net/trekmp/xnVvN/8/

为我工作正常
$("#btnClick").on("click",function (){
var exp = $('input[name=exportType]:checked + label').text();
var agr = $('select[name=agreementType]').children().filter(':selected').text();
alert(exp+"\n"+agr);
});