从一个元素获取名称并调用另一个元素

时间:2013-11-29 21:30:43

标签: javascript jquery

免责声明:这是一种独特的情况,非常讨厌。

我有一组对用户可见的无线电和另一组隐藏的无线电。我需要从隐藏集中提取名称并分配给可见集。

隐藏的无线电:

<div class="productAttributeValue">
    <div class="productOptionViewRadio">
        <ul>
            <li>
                <label>
                    <input type="radio" class="validation" name="attribute[139]"
            value="86" checked="checked" />
                    <span class="name">Standard Shipping</span>
                </label>
            </li>
            etc etc...more li's
        </ul>
    </div>
</div>

可见无线电:

<label>
    <input type="radio" class="validation" name="PUT OTHER NAME HERE" value="86" checked="checked" />
        <span class="name">Standard Shipping</span>
            <p class="rl-m"><small>Earliest Date of Delivery:</small>
                <small><span id="delivery-date"></span></small></p>
</label>

所以,在这种情况下,我希望以某种方式从隐藏的无线电中获取名称“attribute [139]”并调用可见无线电的名称。我在考虑这样的事情:

<script>                    
    $(function() {
       var name = $(".productOptionViewRadio span.name:contains('(Standard)')").attr('name');                    
    });
</script>

我不太确定脚本是正确的方法,也不确定如何从一个元素中获取值以填充到另一个元素的名称字段。

非常感谢。

更新:小提琴http://jsfiddle.net/susan999/XBcaF/

3 个答案:

答案 0 :(得分:1)

试试这个

$('input:radio.validation:visible').attr('name',function(){
  return $('input:radio.validation:hidden').attr('name')
})

如果了解更多关于可见无线电的父类,或者实际上将哪些元素设置为隐藏

,可以改进选择器

答案 1 :(得分:1)

尝试

$('label input[type=radio]').attr('name',
  $('.productOptionViewRadio input[type=radio]').attr('name'));

http://jsfiddle.net/XBcaF/5/

答案 2 :(得分:0)

您可以尝试这样的事情:

var checkboxCount = 0;
$("#visibleCheckboxes").find("input[type=checkbox]").each(function(){
    $($("#hiddenCheckboxes").find("input[type=checkbox]").get(checkboxCount)).attr('name', $(this).attr('name'));
    checkboxCount++;
});

我为你准备了一个小提琴:http://jsfiddle.net/MJNeY/1/