1

ユーザーが入力フィールドにコンマで区切られた複数のID番号を入力できるようにしようとしています。次に、その入力を受け取り、データをコンマで区切り、それらを別々の<li>タグに挿入して、送信する前に(検証目的で)別のdivに表示したいと思います。これが私がこれまでに持っているものです...優しくしてください...私はこれまでこれをする必要はありませんでした。

if ($("#" + prodID).find("input.text").val() == value) {
   $("#" + prodID).find("input.text").val("");
}

これは私が今のところどこにいるのかわからないところです。replaceWith()最後に追加する必要があると思いますが、.val("");よくわかりません。私が見ることができる例があれば、私はこれを理解できると確信しています。

どんな援助も大歓迎です。

これがHTMLです。(最初は見逃してしまい申し訳ありません)

<div id="selCodes">
<p>Your selected codes <span><a href="#">Clear</a></span></p>
  <ul>
      <li><!--inserted by clicking "okay"-->
          Some Account - 0123<a href="#" title="delete"><img alt="delete" src="imgs/delete.png"></a>
      </li>
  </ul>
  <button id="subCodes">Submit</button>
</div><!-- /#my-selections -->

<h4>Narrow results by</h4>

<div id="prodId">
  <a href="#">Item code</a>
    <span><a href="#">Clear</a></span>        
    <p>Choose item from dropdown. Type code or codes, (separated by comma), and click the add button to create filters.</p>
        <select id="code-type">
            <option>Prod code</option>
            <option selected="selected">Prod UPC</option>
            <option>Master UPC</option>
            <option>CC</option>
        </select>            
        <input type="text" value="" />  
        <button>OK</button>
</div>

私はベースから離れているという面白い感じがします。

4

5 に答える 5

2

これがデモです

コードは次のとおりです。

$('#separate').on('keyup',function(){
   var splitter = $('#separate').val().split(',');  
   var htmlToAdd='';
   for (i=0; i<splitter.length; i++)
   {
       htmlToAdd += '<li>'+splitter[i]+'</li>';
   }
   $('#results').html(htmlToAdd);
});​

デモでHTMLを使用しましたが、入力ボックスにIDを追加し、下部に検証結果のdivを追加するというわずかな変更を加えました。

于 2012-06-15T15:13:02.427 に答える
0

[value=somevalue]
これを書く代わりに、で属性マッチングを使用できます

if ($("#" + prodID).find("input.text").val() == value) {
    $("#" + prodID).find("input.text").val("");
}

$("#" + proID + " input:text[value="+value+"]").val('');

こちらの例を確認してください

于 2012-06-15T14:43:52.733 に答える
0

これは、入力値が変更されたときに更新する必要があり、検証ulのIDが次のverifyとおりであることを前提としています。

$('#'+prodId).find('input:text').change(function(e){
   var $this = $(this),
       value = $this.val(),
       values,
       $verify = $('ul#verify'),
       verifyHTML = '';
   if(value) {
       if (value.indexOf(',') != -1) {
         values = value.split(',');
       } else {
         values = [value];
       }

       for (var i = 0; i < values.length; i++) {
         verifyHTML += '<li>'+values[i]+'</li>';
       }

       $verify.html(verifyHTML);
   }
});
于 2012-06-15T14:44:28.997 に答える
0

質問内のテキストから、あなたはこのようなことを意味していると思います(ここでは値を表示するだけでチェックはありません-私はあなたが必要とするものから大きく外れているかもしれません)->

$(function() {
    $('input[type=button]').click(function() {
        var inputs_to_check = $('#check').val();
        var array_to_check = inputs_to_check.split(',');
        $.each(array_to_check,function(index,value) {
            $('#output').append('<li>' + value + " = " + $('#'+value).val() + "</li>");
        })
    });
});​

これは、input( )からテキストを取得します。これには、チェックする要素のsの#checkコンマ区切りリストが含まれています。次に、値を分割してそれらをループし( )、次に、checkedとその()を含む要素を作成します。idinput$.each()liidinputvalue.val()

HTMLは次のようになります:

inputs :<br>
<input id="test1" value="1234"/><br>
<input id="test2" value="5678"/><br>
Output to check : <input id="check"/> <input type="button" value="check"/>
<div>
    <ul id="output"></ul>
</div>​

ここでの実例

于 2012-06-15T14:44:43.323 に答える
0

これがあなたの言っていることかどうかわからない:

デモ

html:

<input id="input1" />
<ul id="ul1"></ul>​

jquery:

$('#input1').on('keyup', function() {
    var textIn = $(this).val();
    var idArr = textIn.split(',');
    $('li', '#ul1').remove();
    $.each(idArr, function(i) {
        $('#ul1').append('<li>' + idArr[i] + '</li>');
    });
});​
于 2012-06-15T14:55:09.487 に答える