Jquery 如何获取子元素';s值基于单击的单选按钮

Jquery 如何获取子元素';s值基于单击的单选按钮,jquery,html,knockout.js,Jquery,Html,Knockout.js,下面是我的代码,它通过foreach循环生成一个列表,它的单选按钮Id在所有自动生成的单选按钮中保持不变,因此我无法根据单选按钮选择获得具体值,因此请选择任何选项来获取值 <div id="divaddress" data-bind="foreach: Addresslist"> <div class="col-lg-4 col-md-4 col-xs-4"> <div class="i-boxb"> <i

下面是我的代码,它通过foreach循环生成一个列表,它的单选按钮Id在所有自动生成的单选按钮中保持不变,因此我无法根据单选按钮选择获得具体值,因此请选择任何选项来获取值

<div id="divaddress" data-bind="foreach: Addresslist">
    <div class="col-lg-4 col-md-4 col-xs-4">
        <div class="i-boxb">
            <input class="checkout-radio" type="radio" name="existingaddress" id="exadressid" data-bind="click:GetAddressId" @*onclick="GetAddressId()"*@ />
            <label class="cradio" for="normal" data-bind="text:Name" style="font-weight:bold"> </label>
            <p data-bind="text:Address"></p>
            <p data-bind="text:City"></p>
            <p data-bind="text:State"></p>
            <p data-bind="text:Pincode"></p>
            <p id="Mobileno" data-bind="text:Mobile"></p>
        </div>
    </div>
</div>


如果我理解正确,您有一个地址列表,每个地址中都有一个复选框。当用户查看地址时,您希望获得地址的
Id
(如在购物网站上)

您必须将名为
selectedAddressId
的属性添加到视图模型中

var viewModel = function () {
    var self = this;
    self.selectedAddressId = ko.observable();
    self.Addresslist = ko.observableArray([
        { Id: 1, Address: "Number 10", City: "London" },
        { Id: 2, Address: "Number 420", City: "Delhi" },
    ]);

    // this will subscribe to the radio selection changes
    self.selectedAddressId.subscribe(function (selectedValue) {
        // all the logic you want on selecting of checkbox goes here
        alert(selectedValue);
    });
};
然后在HTML中,可以使用绑定。您需要将地址的
Id
绑定到无线电输入的

<div id="divaddress" data-bind="foreach: Addresslist">
    <div class="col-lg-4 col-md-4 col-xs-4">
        <div class="i-boxb">
            <input class="checkout-radio" type="radio" name="selectedAddressId" data-bind="value:id, checked: $parent.selectedAddressId"  />
            <label class="cradio" for="normal" data-bind="text:Name" style="font-weight:bold"> </label>
            <p data-bind="text:Address"></p>
            <p data-bind="text:City"></p>
            <p data-bind="text:State"></p>
            <p data-bind="text:Pincode"></p>
            <p id="Mobileno" data-bind="text:Mobile"></p>
        </div>
    </div>
</div>

注意无线电绑定中的
$parent.selectedAddressId
。如果没有
$parent
,knockout将在
Address
对象中而不是在父视图模型中查找
selectedAddressId
属性


我创建了一个

,让它更舒适,你能复制并粘贴代码而不是发布屏幕截图吗?例如,当我运行此代码时,它可以从数据库生成两到三个列表。所以,基于单选按钮的选择,我需要得到它的子元素的值。你们能提供一个完整的例子说明它应该能够做什么吗?只是很难理解你,抱歉。你是否希望使用带有复选框的地址列表功能(如在要求你选择地址的购物网站上)是@adiga我需要相同的功能来完成我的任务谢谢@adiga的详细解释。我只想在单选按钮上点击手机号码,不需要地址Id。怎么做?你可以做两件事:过滤你的
地址列表
,并获取
Id
是所选Id的对象。或者如果你只需要电话号码,你可以简单地将
Mobile
属性绑定到单选输入的
。这样地: