2013-06-07 3 views
-4

Мне нужен сценарий Java для передачи нескольких значений флажков в текстовое поле?передать несколько значений флажков в текстовое поле

Например: Если я установил два флажка, то я вижу, что в текстовом поле отображаются два значения флажка, разделенные запятой, например, «кофе, пиво». Когда я снимаю флажки с установленными флажками, это конкретное значение должно исчезнуть из текстового поля ,

 <form name="form1"> 
     <input type="checkbox" name="checkboxname" value="coffee"> 
     <input type="checkbox" name="checkboxname" value="tea"> 
     <input type="checkbox" name="checkboxname" value="beer"> 

     </form> 

      <form name="form2"> 
      <input type="text" name="textname"> 
       </form> 

Благодарим за помощь.

+3

Что вы пытались до сих пор? – Fabio

+0

Нет, я пробовал со многими методами, не мог получить ожидаемую вещь, могу ли вы разработать java-скрипт для вышеупомянутого codin – user2412295

ответ

3

Я предполагаю, что вам нужно что-то вроде этого: http://jsfiddle.net/Ggxqn/

$("form[name=form1]").on("click", "input[type=checkbox]", function() { 
    var values = $.map($("input[type=checkbox]:checked"), function(el) { 
     return el.value; 
    }); 
    $("form[name=form2]").find("input[name=textname]").val(values); 
}); 
1

Добавить класс = «click_checkbox» в каждом флажков и ид = «textname» в тексте ввода типа.

Затем добавьте этот jquery на свою страницу.

$(".click_checkbox").live('click',function(){ 
    var checkbox_value=$(this).val(); 
    if($("#textname").val()=="") 
    { 
    var str=$("#textname").val()+checkbox_value; 
    } 
    else 
    { 
    var str=$("#textname").val()+","+checkbox_value; 
    }  
    $("#textname").val(str); 
}); 

Просто включите jquery.js. Надеюсь, это сработает для вас.

1

Ну, мое решение не так уж элегантно.

var textbox = document.getElementsByName("textname")[0]; 
var checkboxes = document.getElementsByName("checkboxname"); 
for (var i = 0; i < checkboxes.length; i++) { 
    var checkbox = checkboxes[i]; 
    checkbox.onclick = (function(chk){ 
     return function() { 
      var value = ""; 
      for (var j = 0; j < checkboxes.length; j++) { 
       if (checkboxes[j].checked) { 
        if (value === "") { 
         value += checkboxes[j].value; 
        } else { 
         value += "," + checkboxes[j].value; 
        } 
       } 
      } 
      textbox.value = value; 
     } 
    })(checkbox); 
} 

demo
Надеюсь, что это помогает вам.