Javascript - 如果选中复选框,则更改输入名称

时间:2016-02-25 08:21:15

标签: javascript input

我有这个:

<input class="myclass" type="checkbox" name="nameX" value="myvalue1">
<input class="myclass" type="checkbox" name="nameX" value="myvalue1">
<input class="myclass" type="checkbox" name="nameX" value="myvalue1">
<input class="myclass" type="checkbox" name="nameX" value="myvalue1">

我需要的是,当我勾选方框时,更改名称,从name="nameX"开始 至 name="nameY"

例如,如果我检查第二个框,将转到:

<input class="myclass" type="checkbox" name="nameX" value="myvalue1">
<input class="myclass" type="checkbox" name="nameY" value="myvalue1">
<input class="myclass" type="checkbox" name="nameX" value="myvalue1">
<input class="myclass" type="checkbox" name="nameX" value="myvalue1">

5 个答案:

答案 0 :(得分:1)

使用Jquery,您可以这样做:

$(".myclass").change(function(){
    if( $(this).is(":checked") ){
        $(this).attr("name", "nameY");
    }else{
        $(this).attr("name", "nameX");
    }
});

答案 1 :(得分:0)

绑定更改事件处理程序并根据checked属性更新名称

function change(ele) {
  ele.name = ele.checked ? 'checked' : 'unchecked'
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input class="myclass" type="checkbox" name="unchecked" value="myvalue1" onchange="change(this)">
<input class="myclass" type="checkbox" name="unchecked" value="myvalue1" onchange="change(this)">
<input class="myclass" type="checkbox" name="unchecked" value="myvalue1" onchange="change(this)">
<input class="myclass" type="checkbox" name="unchecked" value="myvalue1" onchange="change(this)">

编辑: 使用jQuery

$(':checkbox').change(function() {
  this.name = this.checked ? 'checked' : 'unchecked'
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input class="myclass" type="checkbox" name="unchecked" value="myvalue1">
<input class="myclass" type="checkbox" name="unchecked" value="myvalue1">
<input class="myclass" type="checkbox" name="unchecked" value="myvalue1">
<input class="myclass" type="checkbox" name="unchecked" value="myvalue1">

答案 2 :(得分:0)

只需检查复选框是否勾选,如果选中将名称属性重置为checked,则另外明智地unchecked

$(".myclass").on("change", function(){
    if($(this").prop('checked') == true){
        $(this).attr("name", "checked");
    }else{
        $(this).attr("name", "unchecked");
    }
});

答案 3 :(得分:0)

根据我的理解尝试这个。

$("input.myclass").on("click",function(){
  if($(this).is(":checked")){
     $(this).attr("name","nameY");
  }else{
     $(this).attr("name","nameX");
  }
})

答案 4 :(得分:0)

&#13;
&#13;
.run(function($rootScope, $translate) {
    $rootScope.$on('$stateChangeStart', function(event, toState) {
        if (toState.data.title) {
            $translate(toState.data.title).then(function(translation) {
                $rootScope.pageTitle = translation;
            },
            function() {
                $rootScope.pageTitle = 'About';
            });
        }
    });
})
&#13;
$(".myclass").click(function(){
    var isChecked = $(this).is(":checked") ? "checked" : "unchecked";
    $(this).attr("name",isChecked);
});
&#13;
&#13;
&#13;

你可以使用jQuery轻松使用。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input class="myclass" type="checkbox" name="checked" value="myvalue1">
<input class="myclass" type="checkbox" name="unchecked" value="myvalue1">